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

Публикации leipreachan

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



#126489 Basic Authentication Window + WebDriver + Thucidides

Отправлено автор: leipreachan 03 февраля 2014 - 09:50 в Selenium - Functional Testing

для решения подобных проблем есть BrowserMobProxy




#126511 Basic Authentication Window + WebDriver + Thucidides

Отправлено автор: leipreachan 03 февраля 2014 - 15:23 в Selenium - Functional Testing

и к тому же,в моем случае,как я понял, необходимо:When you set a proxy for any given driver, it is set only at the time WebDriver session is created; it cannot be changed at runtime. Even if you get the capabilities of the created session, you won't be able to change it. So the answer is, no, you must start a new session if you want to use different proxy settings.

 

поскольку у меня и url,pass and login различные

 

а мне надо,чтобы ,после нажатия на клик,просто открывалась нужная страница, буду признателенза пример или совет

 

спасибо

 

эм.. так инициализируйте два объекта BrowserMob. Первый для одной страницы, второй - для другой.




#124565 Selenium WebDriver,JUnit и Assert.isTrue - зачем ?

Отправлено автор: leipreachan 29 ноября 2013 - 12:34 в Selenium - Functional Testing

Ладно,перефразирую - какой ассерт использовать для проверки существования вэб элемента и его атрибута/атрибутов(комбинированное условие) ?

Честно говоря, Java-драйвер я немного подзабыл, а на JUnit не писал - только testng. Но логика везде одинаковая.
Там, предполагаю, есть assertTrue и всё.
Реализуйте assertElementPresent и assertElementVisible
первый будет
просто проверять, что у драйвер вернул element (тот же assertTrue)
а второй даже проще:
assertTrue(element.displayed(), message)

в селениде, как я понимаю, так и сделано.



#128853 как переключиться на новую, открытую тестом вкладку?

Отправлено автор: leipreachan 01 апреля 2014 - 07:33 в Selenium - Functional Testing

1)тест запускает форму,

2)нажимает на кнопку - открывается новое окно (или вкладку)

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

 

вопрос - как переключить тест на вновь открытую самим тестом вкладку?!

 

 

             if (selenium.IsElementPresent( "xpath=(//a[contains(text(),'Баланс')])["+i+"]" ))//если существует
                selenium.Click("xpath=(//a[contains(text(),'Баланс')])["+i+"]");//нажимаем баланс у №-нного контрагента        
            selenium.WaitForPageToLoad("30000");

            //это должно быть уже на новой вкладке
            selenium.Select("id=year", "label=2013");//год 2013

открывайте новые окна, а не вкладки. В настройка FF измените это и всё.




#126705 Проблемы с кодировкой при сборке на TeamCity

Отправлено автор: leipreachan 07 февраля 2014 - 11:50 в Selenium - Functional Testing

Добавил в настройках build step шаг build, и кириллица перестала работать. Ранее я собирал локально через eclipse, а черех TC только прогонял тесты - поэтому было все хорошо.

 

Кто - нибудь знает как правильно задать кодировку шагу build ?

 

пишу на java, соответственно собираю при помощи ant

причём тут селениум?

 

где и как перестала работать кириллица?




#127207 Запуска Selenium'a из сайта или есть готовые framework?

Отправлено автор: leipreachan 18 февраля 2014 - 13:24 в Selenium - Functional Testing

Для нашей команды в teamcity я настроил билды с возможностью указание группы тестов (указывается в аннотации). Так получается более гибко, чем VisualPHPUnit. Последний подходит в том случае, если команда оч. небольшая и нет вероятности, что кто-то забьёт селениум-ферму.  К тому же, отсутствуют стандартные плюшки всех CI-серверов (статистика и т.п.)




#127124 Запуска Selenium'a из сайта или есть готовые framework?

Отправлено автор: leipreachan 17 февраля 2014 - 07:49 в Selenium - Functional Testing

Так это виртуалки. А где дистрибы ?

Уважаемый, это уже вам следует искать в google.com




#126960 Запуска Selenium'a из сайта или есть готовые framework?

Отправлено автор: leipreachan 13 февраля 2014 - 10:29 в Selenium - Functional Testing

Sauce Labsи Nerrvana - по функциональности подобное им, но чтобы я мог установить на свой хост

 

Вам для этого ещё свою серверную стойку надо будет завести.




#126954 Запуска Selenium'a из сайта или есть готовые framework?

Отправлено автор: leipreachan 13 февраля 2014 - 08:03 в Selenium - Functional Testing

Мне для php. Просто сайт-оболочка в котором будет выводиться, который могу запускать с этого сайта

Он для любого языка

ищите по ключевым словам Continious Integration server

их много - teamcity, jenkins, hudson, travis и другие.

 

 

Специализированное решение для запуска именно селениум-тестов было, но уже, насколько помню, не поддерживается.

 

вот, например, "на почитать"

http://www.browserst...ous-integration




#126983 Запуска Selenium'a из сайта или есть готовые framework?

Отправлено автор: leipreachan 13 февраля 2014 - 13:33 в Selenium - Functional Testing

 

 

Мне для php. Просто сайт-оболочка в котором будет выводиться, который могу запускать с этого сайта


 

 

Специализированное решение для запуска именно селениум-тестов было, но уже, насколько помню, не поддерживается.


 

Дайте,пожалйста, ссылку на сие творение ?

 

 

еле нашёл о нем упоминание

 

http://www.methodsan...ols.php?bromine

 

 

(искать тут http://web.archive.o...q.org/projects)

 

вообще, потом, похоже, его идеи фукидид (thucydides) перехватил.




#127093 Передача значения переменой a функцию

Отправлено автор: leipreachan 15 февраля 2014 - 08:44 в Selenium - Functional Testing

 

driver.findElement(By.id("username")).sendKeys("" + num);

так нельзя делать, ай-ай-ай!!!

if (num!=null) {

 driver.findElement(By.id("username")).sendKeys(num.toString());

}

 

num не может быть равен null, потому что num объявлен как int - это не объект, а примитивный тип.

Если бы num был объявлен как объект Integer, тогда проверка на null нужна обязательно.

 

А вот Ваш код должен выдать ошибку IDE:

140213_17cd0479.png

 

 

 

вы правы насчёт ошибки IDE (пару лет уже на java не писал), общий смысл был в использовании toString() =)

 

Использовать конструкцию ""+int  не принято, т.к. такой код "плохо пахнет" =)




#126990 Передача значения переменой a функцию

Отправлено автор: leipreachan 13 февраля 2014 - 14:50 в Selenium - Functional Testing

 

Нечего в sendKeys интеджер пхать :-)

:rofl:

А слона-то я и не приметил.

Вообще странно, IDE обычно пишет чёрным по-жёлтому:

140213_17645dda.png

Перевод: метод sendKeys(CharSequence...) у типа WebElement не поддерживает аргументы (int)

 

Я думал, там какой-то Exception вываливается.

 

Топик-стартеру:

Решение элементарно

void log_out2(int num) throws Exception
{
	//////////*************///////////////////////
	driver.findElement(By.id("username")).clear();
	driver.findElement(By.id("username")).sendKeys("" + num);
	//////////**************///////////////////
 
}

 

driver.findElement(By.id("username")).sendKeys("" + num);

так нельзя делать, ай-ай-ай!!!

if (num!=null) {

 driver.findElement(By.id("username")).sendKeys(num.toString());

}




#128057 Не запускается node для selenium grid

Отправлено автор: leipreachan 11 марта 2014 - 12:54 в Selenium - Functional Testing

grid:

java -jar selenium-server.jar -port 5555 -role hub

node:

java -jar selenium-server.jar -port 4544 -registerCycle 30000 -role node -hub http://localhost:5555/grid/register



#128107 Не запускается node для selenium grid

Отправлено автор: leipreachan 12 марта 2014 - 06:53 в Selenium - Functional Testing

 

java -jar selenium-server.jar -port 4544 -registerCycle 30000 -role node -hub http://localhost:5555/grid/register

А как он будет регистрировать что-то в localhost'e, если там ничего не лежит?

 

 

не очень понял вопроса.

Если вы сначала запустите grid, то он и будет на локалхосте




#127627 Selenium ест 1 гиг памяти и вылетает

Отправлено автор: leipreachan 28 февраля 2014 - 09:18 в Selenium - Functional Testing

Фантом, всё-таки, не очень стабильная штука. Попробуйте на обычном хроме гонять. Чуть больше накладные расходы, но есть мнение, что там с памятью лучше




#128905 Связка WebDriver + TestNG + Bamboo

Отправлено автор: leipreachan 01 апреля 2014 - 14:47 в Selenium - Functional Testing

 

К чему теория, просто запустите Bamboo и вперёд!

Появятся проблемы -- приходите и задавайте вопросы :)

Появился вопрос - хочу запускать webdriver тесты на отдельной машине. Опыта с Bamboo нет. Девы на днях переведут проект на Bamboo, следующим шагом будет попробовать запускать unit тесты и ui тесты. UI тесты (Selenium Webdriver) пока запускаю у себя на машине с командной строки при помощи maven. В какую сторону копать? С чего вообще начать? Bamboo должен удалённо запускать тесты на отдельной машине и получать оттуда результаты. 

 

Bamboo, по моему личному мнению - крайне глючная вещь. Лучше Jenkins используйте.




#128923 Связка WebDriver + TestNG + Bamboo

Отправлено автор: leipreachan 02 апреля 2014 - 07:23 в Selenium - Functional Testing

Тут требование клиента, так что...

соболезную =)




#128903 Зависимые тесты

Отправлено автор: leipreachan 01 апреля 2014 - 14:45 в Selenium - Functional Testing

их независимость позволяет реализовать две вещи:

1) параллельный запуск тестов

2) падение одной компоненты не будет останавливать работу всего набора.




#128930 Зависимые тесты

Отправлено автор: leipreachan 02 апреля 2014 - 08:51 в Selenium - Functional Testing

Хорошо, зайдем с другой стороны. Функционал "создать учреждение" частично работает - учреждение создается, но в него невозможно добавить здания. Причем если создавать учреждение через api, или лить напрямую или через хранимки в базу - функционал "создать здания в учреждении" работает. Т.е. тесты проходят, но совокупный функционал приложения не работает.

 

если говорить о конях в вакууме, то "создать учреждение" может быть крайне редко используемым функционалом и его работа, конечно, важна, но если внезапно поломается, то не так страшно, как "здания в учреждении", которые заводятся, например, каждый день.

 

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




#124941 Selenium IDE и Documentum

Отправлено автор: leipreachan 10 декабря 2013 - 14:18 в Selenium - Functional Testing

Привет всем, я совершенно новый пользователю Selenium IDE и пытаюсь использовать его с EMC Documentum 5.3. Пытаюсь записать сценарии в firefox и получаю "Элемент не найден", ошибки. Записываются только первые несколько команд (при входе в Систему), далее при кликании по кнопкам, дереву, ссылкам действия не записываются. При ручной записи команд также ошибки. При этом если записываю сценарии с какого-либо сайта (ya.ru, google.com), все ок. Может ли кто-нибудь дать толковые советы, как-что сделать, чтобы сценарии на документуме заработали? Или примеры сценариев, статьи?

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



#128065 как не ждать загрузку страницы и не падать с ошибкой?

Отправлено автор: leipreachan 11 марта 2014 - 14:17 в Selenium - Functional Testing

Привет

 

В jsonwiredprotocol есть метод /url, который позволяет перейти по известному адресу.

Для него через "/timeouts" выставляется таймаут на то, сколько мы будем ждать загрузки страницы.

 

Но проблема в том, что если на страничке тупит какой-нибудь малозначительный рисунок, то /url будет ждать загрузки по максимуму, а потом упадёт с ошибкой "Timed out waiting for page load"

 

Никто не придумал ничего лучше, кроме try{}catch{} ?




#128071 как не ждать загрузку страницы и не падать с ошибкой?

Отправлено автор: leipreachan 11 марта 2014 - 14:28 в Selenium - Functional Testing

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

 

я и говорю, "Никто не придумал ничего лучше, кроме try{}catch{}"

 

ну, если не ошибаюсь, то можно удалять элемент джаваскриптом

 

как жеж я верну управление в поток теста, если страничка не загрузилась?=)

у меня синхронный php.




#128073 как не ждать загрузку страницы и не падать с ошибкой?

Отправлено автор: leipreachan 11 марта 2014 - 14:45 в Selenium - Functional Testing

ага

есть ещё webdriver.load.strategy , надо туда посмотреть




#128080 как не ждать загрузку страницы и не падать с ошибкой?

Отправлено автор: leipreachan 11 марта 2014 - 15:25 в Selenium - Functional Testing

странные ошибки какие-то лезут.

Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Timed out waiting for page load.
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'selenium', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-51-generic', java.version: '1.7.0_11'
Driver info: driver.version: unknown
        at <anonymous class>.FirefoxDriver.prototype.get/<(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:8728)
        at <anonymous class>.WebLoadingListener/e(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:3333)
        at <anonymous class>.WebLoadingListener/<(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:3340)
        at <anonymous class>.fxdriver.Timer.prototype.setTimeout/<.notify(file:///tmp/anonymous5033500997647426723webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:396)




#128068 как не ждать загрузку страницы и не падать с ошибкой?

Отправлено автор: leipreachan 11 марта 2014 - 14:25 в Selenium - Functional Testing

а чего нужно добиться и на каком инструменте/языке?

 

У меня php. Если метод open() (он же /url) всегда будет ждать загрузки страницы, то тупящий рисунок в футере автоматически замедляет тест.

Хочу иметь возможность самому определять то, что страничка загрузилась достаточно хорошо =)