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

Stormer

Регистрация: 09 янв 2017
Offline Активность: 24 мар 2018 20:12
-----

Мои темы

Одна такая мегаглавная проблема Selenium Webdriver, Selenium - отстой?

08 декабря 2017 - 11:07

Всем привет, кто-нибудь может мне внятно объяснить, почему selenium-овский wait.until не может найти элемент на странице в течение 5/10/60/300 секунд, если элемент с таким локатором по факту на странице присутствует?

 

Я постоянно вижу, как все с этим воюют.

 

Почему конструкция вида

while (true) {
elements = driver.findElements(локатор).first

if (elements.size > 0)
 break
else
 sleep полсекунды
}

преспокойно найдёт элемент, когда он появится на странице, а стандартный wait.until нет? Хоть каждый wait.until в проекте переписывай этой конструкцией. При этом даже в лог он пишет что-то вроде:

tried to find element for 60 seconds with 500 ms interval.

 

Т.е. он должен быть идентичен ПОЛНОСТЬЮ конструкции выше (если только в ней условие сделать while (пока не прошло 60 секунд) ).

А по факту нет.

 

Неужели так сложно переписать wait.until и сделать нормальную реализацию. Или я чего-то просто не понимаю. Пожалуйста, объясните.

Ибо такая проблема далеко не только у меня.


Как вы развивали свои скиллы/опыт в автотестировании

06 апреля 2017 - 16:09

Я поизучал selenium, page object (понимаю, зачем и как его применять), теорию про классы эквивалентности/граничные значения/позитивные и негативные тесты, освоился с testng/junit, применял подход data driven testing. Почитал (но пока не применял) подход model based testing (но видел, как это работает, понимаю, зачем).

 

Сейчас создал проект на основе архетипов.

https://selenium2.ru...archetypes.html.

 

Вот думаю взять какую-нибудь веб-страничку (gmail/instagram/facebook, да что угодно) и потестить.

 

Но у меня возник вопрос: что делать дальше? Может есть какие-то еще обучалки? Или мне с этим уже можно устраиваться пробовать в junior-ы?

Просто еще пока ищу работу. Что мне:

1) делать (основное)

2) читать

чтобы наращивать скиллы?

 

Документацию по Selenium на этом сайте вроде уже почти прошерстил.

Хочется какой-то более хардкорной практики. А не так, как я сам сижу и придумываю себе задачки по типу: протестить страничку входа gmail.

Подкиньте, куда копать.

 

P.s. до этого писал на java (spring, mvc) 2 года. На sql запросы/хранимые процедуры тоже писал.


Как правильно тестировать Web (Java EE) приложение со множеством форм

12 января 2017 - 10:22

В сети постоянно нахожу примеры того, как, используя Selenium, проверить, перешло ли на страницу, на которой присутствует текст и т.п. Иными словами встречаю примеры несложных тестов. 

 

А если у меня есть приложение Java EE (GWT, Spring), в котором есть много таблиц/подчиненных таблиц. В таблицу можно добавлять данные, тогда она без обновления страницы обновляется и т.п.

 

Как это правильно тестировать? Искать элементы, используя локаторы/xpath..., просто это будет всё намного более запутанное?

 

Кому не сложно, поскидывайте примеры реально СЛОЖНЫХ selenium автотестов. А не тестов вида "ввести текст в поля, нажать кнопочку, перейти на страницу, проверить, что присутствует текст".

 

Хочется что-то типа: "нажать одну из кнопок "добавить"(именно одну из нескольких с одинаковым названием, расположенных под разными таблицами), в выпадающем окне заполнить поля a1,a2,a3...., нажать в этом же выпадающем окне ОК, в таблице найти запись с полями a1,a2,a3,.... соответствующим колонками b1,b2,b3,...., если нашли, то тест пройден".

 

Вот примеры такого хочется увидеть. Ведь по идее, если всё это делать в таком же стиле, в каком делаются простые тесты, примеры которых я постоянно вижу, то будет куча строк вида findElementById, будет много-много такого в общем одинакового кода. Который сложен лишь тем, что приходится искать много элементов во многих местах.

 

Правилен ли такой подход, объясните, кто знает?