Перейти к содержимому

Публикации Jenka156

138 публикаций создано Jenka156 (учитываются публикации только с 06 июня 2023)



#98844 Как уменьшить время работы теста?

Отправлено автор: Jenka156 19 декабря 2011 - 06:11 в Selenium - Functional Testing

я использую вот такое:
public boolean IsElementPresent(String element_xpath)
    {

	try{
		driver.findElement(By.xpath(element_xpath));
		return true;
	}
	catch(NoSuchElementException e){
		return false;
	}
	  	
    }


получается что функция возвращает true в случае присутствия элемента и false если он отсутствует на странице



#93770 данные для тестов

Отправлено автор: Jenka156 06 сентября 2011 - 13:08 в Selenium - Functional Testing

Довольно много времени ушло на создание методов для работы с базой


а эти методы работают через интерфейс приложения или напрямую с базой?



#93723 данные для тестов

Отправлено автор: Jenka156 06 сентября 2011 - 06:39 в Selenium - Functional Testing

Нужно видимо эти данные придумать, уточните у своего лида.


да я тут одна к сожалению. меня посадили и сказали: пиши тесты)) я понятия не имела вообще как это делается. разобралась вроде, а вот с частью данных проблемы. то что эти данные придумать надо - это точно, потому что тестирую на тестовой площадке (тут можно что хочешь придумывать). проблема в том, как перед началом теста нужные данные внести в систему, чтобы их использовать?

Я, например, храню в БД список когда-либо зарегистрированных клиентов


у меня по этому поводу условие, надо чтоб тест после себя все удалял, чтоб типа не засорять базу и саму систему.

я сначала думала запускать цепочку тестов по очереди, сначала создать подразделения, потом пользователей, потом задачи, а потом все это удалить. но когда представила какой длины может быть эта цепочка дальше... ну и вообще, было бы лучше если все эти тесты независимо друг от друга выполнялись.
меня вобщем-то интересует такой вопрос: можно ли как-нибудь перед началом теста занести необходимые данные в систему, а в конце теста удалить их? может есть для этого какие нибудь "инструменты"?
я использую связку selenium rc + phpUnit.



#98166 есть ли в webdriver getText?

Отправлено автор: Jenka156 05 декабря 2011 - 05:37 в Selenium - Functional Testing

о! спасибо большое!



#98104 есть ли в webdriver getText?

Отправлено автор: Jenka156 02 декабря 2011 - 13:26 в Selenium - Functional Testing

Здравствуйте! столкнулась с такой проблемой: адаптирую тесты под webdriver и не могу найти аналог функции getText(). Она использовалась чтоб брать у ряда элементов текст и потом обращаться к ним через параметр xpath (//a[text()="текст который был взят раньше"]).

как в webdriver можно взять текст элемента???



#93788 еще раз о новых окнах

Отправлено автор: Jenka156 07 сентября 2011 - 07:57 в Selenium - Functional Testing

Здравствуйте! еще раз подниму тему о том, что почему-то в тесте не видно новое окно.
вобщем на картинке все видно:
Снимок7.jpg

код теста сейчас выглядит так:
function testMyTestCase() {
        $this->open("/");
        $this->LoginUser("selenium", "pass"); // вход в систему
        $this->waitForElementLoad("//a[text()='задача с событиями']", 20); // ожидание загрузки нужной ссылки
        $this->clickAt("//a[text()='задача с событиями']"); // нажатие на ссылку
        sleep(10);
        print_r($this->getAllWindowIds());
        print_r($this->getAllWindowNames());
        print_r($this->getAllWindowTitles());
    }

ссылка, на которую нужно нажать чтоб открылось новое окно выглядит так:
<a href="/user/unionmessage/6651" target="t6651" onclick="makeTaskRead(6651);">задача с событиями</a>

я использую selenium 1.0 + phpunit 3.5.14 + firefox 3.5

сразу скажу: пробовала этот тест запускать с selenium 2.5, firefox 3.6 и все остальные браузеры (chrome, opera, IE, safari)
результат везде одинаковый.

подскажите пожалуйста, в чем проблема? очень нужно.... сама уже перепробовала все способы, которые только находила



#92343 еще раз про popUp окна

Отправлено автор: Jenka156 08 августа 2011 - 15:24 в Selenium - Functional Testing

здравствуйте! я новичок в тестировании. Тестирую веб-интерфейс и столкнулась вот с такой проблемой: при нажатии на кнопку вылетает сообщение "Сохранить полномочия пользователей?" и 2 кнопки: Да и Нет. проблема в том что я не могу нажать ни Да ни Нет, так как не получается переключиться на это окно. Сообщение не является просто alert(). Оно открывается как отдельная html страничка. Пробовала способ с переключением на это окно:
        $AllWindow = $this->getAllWindowTitles();//получаю массив имен окон
        $last_element = end($AllWindow);//записываю в переменную имя последнего окна
        $this->selectWindow($last_element);// переключаюсь на последнее окно
        
        $this->click($this->alert_button);// нажимаю кнопку "Да"
в результате получается ошибка:
ERROR: Element //input[@type='button' and @id='yes_bt'] not found.
т.е. не может найти эту кнопку "Да".
И не понятно даже, переключается ли на само окно или нет.
кто нибудь сталкивался с таким? какие еще есть способы решения?



#92395 еще раз про popUp окна

Отправлено автор: Jenka156 10 августа 2011 - 06:35 в Selenium - Functional Testing

с проблемой нахождения кнопки разобралась. он просто пытался на нее нажать еще до того как она появляется. но на этом проблема не решилась. теперь, когда выполняется тест, он пишет что нажал на кнопку, однако нажатия не происходит. и соответственно дальнейшие действия выполняются неправильно.
на этом скрине все видно:
Изображение

вот код этого окна:
<html><head>
<style type="text/css" media="screen">
	body	{background:buttonface; padding:0px; margin:0px;}
	#message, #btn	{text-align:center; width:300px; line-height:15px; font:10pt Tahoma, Arial, sansa-serif; padding-top:10px;}
	#btn	{}
	#yes_bt, #no_bt	{width:50px;}
</style>
<title>...</title>
<script language="javascript">
	var pushed = false;

	function init()
	{
		var yes_cap = opener.confirm_captions[0];
		var no_cap = opener.confirm_captions[1];
		var mess = opener.confirm_mess;
		
		document.getElementById('yes_bt').value = yes_cap;
		document.getElementById('no_bt').value = no_cap;
		document.getElementById('message').innerHTML = mess;
	}
	
	function yes()
	{
		opener.yes();
		pushed = true;
		window.close();
	}
	
	function no()
	{
		opener.no();
		pushed = true;
		window.close();
	}
	
	function check()
	{		
		if (!pushed)	{	opener.no();	}
	}
	
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>
<body onload="init()" onunload="check()">
<div id="message"></div>
<div id="btn">
		<input type="button" class="button" id="yes_bt" onclick="yes()">
		<input type="button" class="button" id="no_bt" onclick="no()">
</div>

</body></html>

а вот код, который я использую для перехода на окно и нажатия на кнопку ($alert_button = "//input[@type='button' and @id='yes_bt']"):
        $AllWindow = $this->getAllWindowTitles();
        $last_el = end($AllWindow);
        $this->selectWindow($last_el);
        sleep(5);
        $this->click($this->alert_button);

ну и вообще, окно в тесте выглядит очень странно (см. первый скрин). на самом деле, если проходит эти действия руками, это окно выглядит вот так:
Изображение



#92396 еще раз про popUp окна

Отправлено автор: Jenka156 10 августа 2011 - 07:05 в Selenium - Functional Testing

только что запустила тест в firefox, там все работает как надо!
скажите пожалуйста, кто сталкивался с таким? почему в хроме и опере не работает нормально?



#92902 еще раз про sessionId should not be null; has this session been starte

Отправлено автор: Jenka156 19 августа 2011 - 15:14 в Selenium - Functional Testing

что значит "поле типа Selenum"?

и почему еще он ругается, что sessionId should not be null?
я так понимаю, что он, создавая экземпляр класса, пытается создать новую сессию???



#92899 еще раз про sessionId should not be null; has this session been starte

Отправлено автор: Jenka156 19 августа 2011 - 13:43 в Selenium - Functional Testing

у меня есть 2 класса в файле конфигурации, который подключается к файлу теста require_once. один класс отвечает за подразделения (Department) и наследуется в кейсах для подразделений. другой отвечает за пользователей (Users) в этих подразделениях и наследуется в кейсах по пользователям.

Проблема вот в чем: когда я пишу тело теста, который работает с пользователями, то в нем перед тем как работать с пользователями мне нужно создать подразделение. я создаю экземпляр класса для работы с подразделениями.
пишу это в теле функции теста testMyTestCase():

$dep = new Department();

$this->open("/");
$this->LoginUser("admin", "admin"); // вход в систему
$dep->CreateDepartment("Подразделение 1"); // вызов метода класса Department

Ошибок никаких НетБинс не показывает. когда запускаю тест, он залогинивается под администратором и потом сразу выдает ошибку:
PHPUnit_Framework_Exception: Response from Selenium RC server for click(//div[@id='instr']).
ERROR Server Exception: sessionId should not be null; has this session been started yet?.

В чем ошибка? без экземпляра класса тест работает...



#92953 еще раз про sessionId should not be null; has this session been starte

Отправлено автор: Jenka156 22 августа 2011 - 05:48 в Selenium - Functional Testing

спасибо! ошибку вообщем то поняла) сейчас буду разбираться



#102620 загрузка файла через input

Отправлено автор: Jenka156 20 марта 2012 - 07:02 в Selenium - Functional Testing

здравствуйте! подскажите пожалуйста, кто-нибудь когда-нибудь встречался с проблемой загрузки файла через поле <input type="file" name="file">?

дело в том, что я использую вот этот способ:
driver.findElement(By.name("file")).sendKeys("C://file//file7.jpg");

в хроме это работает отлично, а firefox просто игнорирует это действие: не передает элементу путь к файлу и никаких ошибок не выдает.
в опере вообще падает на этом моменте с ошибкой
org.openqa.selenium.WebDriverException: Problem encountered : DISCONNECTED

может кто-то знает решение этой проблемы? или есть другие варианты добавления файла?



#102647 загрузка файла через input

Отправлено автор: Jenka156 20 марта 2012 - 11:35 в Selenium - Functional Testing

в приведенном html не видно где тут поле name="file"


это просто в примере первом написала по другому...

вот так выглядит у меня в коде реально: driver.findElement(By.name("image")).sendKeys(file);



#102644 загрузка файла через input

Отправлено автор: Jenka156 20 марта 2012 - 10:46 в Selenium - Functional Testing

<div class="form-block">
 <div id="js-event-image-selector">
  <div class="form-row clear-fix">
   <div class="label fl-l ta-r">Изображение:</div>
   <input type="file" size="26" name="image" id="js-image" style="height: 26px; font-size: 26px;"></div>
  </div>
  </div>
 </div>


Пользуюсь аналогичным способом. В FF работает без проблем.

а ff какой?



#106906 запуск групп тестов параллельно

Отправлено автор: Jenka156 20 июня 2012 - 12:07 в Selenium - Functional Testing

здравствуйте!
помогите решить проблему.

есть набор тестов по ролям (роль админа, роль пользователя, роль модератора, роль начальника и т.д.)
эти тесты надо запустить параллельно на виртуальных машинах, причем распределить их по виртуалкам не по браузерам а именно по тестам.
то есть тесты на роль админа надо запустить на одной виртуалке во всех браузерах, тесты на роль пользователя на другой виртуалке во всех браузерах и т.д.

как это можно реализовать используя selenium grid?



#98046 запуск селениума на другой машине

Отправлено автор: Jenka156 01 декабря 2011 - 11:22 в Selenium - Functional Testing

спасибо большое! попробую разобраться.

а я тогда хотела бы еще спросить.... вообщем я работала с selenium rc до сих пор. Вчера столкнулась с проблемами, из-за которых было решено переходить на webDriver.
по методам я более менее освоилась, но сейчас проблема появилась в том, что не могу тест запустить ни на чем кроме firefox.

я еще не до конца понимаю как он работает. но в инете по этим пролемам не нашла информации:
1. при запуске через оперу просто запускается браузер, url вообще не передается. в терминале пишет что передается пустой url.
2. сафари вообще не запускается. пишет что driver.version: unknown.

В чем именно проблема? вот код, который я пытаюсь запустить:
<?php

require_once 'phpwebdriver/WebDriver.php';
require_once 'phpwebdriver/CWebDriverTestCase.php';

class newSeleneseTest extends CWebDriverTestCase {

    function setUp() {
	$this->webdriver = new WebDriver("localhost", 4444);
        $this->webdriver->connect("opera"); //  или "safari"
	$this->webdriver->get("http://google.com");
    }

    function testMyTestCase() {
	$this->open("http://google.com", "top-bar-bg");
    }
}

как я понимаю это скорее моя ошибка)))
скажу сразу, что в переменной Path я прописала пути к opera.exe и safari.exe


и еще... под линуксом хром не могу запустить. положила chromedriver во все возможные места, но что то не помогает. пишет что driver unknown



#98041 запуск селениума на другой машине

Отправлено автор: Jenka156 01 декабря 2011 - 10:29 в Selenium - Functional Testing

подскажите, пожалуйста, как это сделать?



#98014 запуск селениума на другой машине

Отправлено автор: Jenka156 01 декабря 2011 - 05:55 в Selenium - Functional Testing

уважаемые опытные тестировщики, подскажите пожалуйста, есть ли возможность решения такой задачи?
мне поставили задачу:
на одной машине (сервер) нужно установить phpunit и расположить там файлы тестов. На этой машине нет графического интерфейса и браузеры не стоят.
Затем нужно сделать так, чтоб эти тесты обращались к селениумам на других (клиентских) машинах и запускали тесты на них.

Есть ли вообще такая возможность? Или нужно чтоб селениум и phpunit стояли на одной машине?



#98540 запуск теста из командной строки

Отправлено автор: Jenka156 12 декабря 2011 - 07:49 в Selenium - Functional Testing

Помогите, пожалуйста запустить тест из командной строки.
Я пробовала так как написано по ссылке http://testng.org/do...html#testng-xml

Создала xml файл:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
  <test name="Test" preserve-order="true">
    <classes>
      <class name="enter_test.LogInLogOut"/>
    </classes>
  </test>
</suite>

он находится в корне проекта моего.
дальше в командной строке пишу:
java -Dtestng.test.classpath="/home/jenka/ecl/2do2go_EnterTest/lib" org.testng.TestNG '/home/jenka/ecl/2do2go_EnterTest/testng.xml'

и получаю ошибку
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
Caused by: java.lang.ClassNotFoundException: org.testng.TestNG
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.testng.TestNG. Program will exit.

я перепробовала все. может что то неверно написано в xml файле? или он лежит не в том месте?.. по идее ведь должно работать



#98550 запуск теста из командной строки

Отправлено автор: Jenka156 12 декабря 2011 - 09:37 в Selenium - Functional Testing

спасибо большое...)))



#98576 запуск теста из командной строки

Отправлено автор: Jenka156 12 декабря 2011 - 13:10 в Selenium - Functional Testing

а еще тогда вопрос. когда с phpunit работала, то файл логов можно было вывести просто использовав в командной строке опцию --log-junit <путь к файлу логов/log.xml>

можно ли также здесь это сделать? просто информации никакой не нашла об этом к сожалению....



#98546 запуск теста из командной строки

Отправлено автор: Jenka156 12 декабря 2011 - 08:45 в Selenium - Functional Testing

не помогло. все та же ошибка.

у меня вообще ubuntu. может там по другому надо устанавливать эти параметры?



#93004 как найти textarea?

Отправлено автор: Jenka156 23 августа 2011 - 08:36 в Selenium - Functional Testing

Не могу подобраться к элементу textarea. через IDE его не видно, какие бы я xpath не прописывала. в коде оно отображается серым цветом. Не очень понимаю что это значит.

Изображение

как к нему можно обратиться и напечатать там что нибудь?



#100916 как отловить javascript ошибки

Отправлено автор: Jenka156 13 февраля 2012 - 10:17 в Selenium - Functional Testing

Здравствуйте! скажите, можно ли как то отловить ошибки javascript средствами webdriver?