Как дождаться изменения элемента
#1
Отправлено 13 декабря 2011 - 09:05
Использую Selenium RC+JAVA+Maven
Есть обычная форма с двумя инпут-полями и кнопкой "Сохранить"
1.Открыть форму
2. Нажать кнопку "Сохранить"
3. Ждать, пока появятся ошибки
4. Проверить, если ошибки корректные - то все отлично
5. Заполнили первое поля
6.Нажать кнопку "Сохранить"
Здесь ждать пока не появятся ошибки нельзя,т.к. элемент уже есть (см. шаг 3)
Как дождаться, когда элемент измениться на странице ?
#2
Отправлено 13 декабря 2011 - 09:45
Что-то никак не могу догнать, как это сделать
Использую Selenium RC+JAVA+Maven
Есть обычная форма с двумя инпут-полями и кнопкой "Сохранить"
1.Открыть форму
2. Нажать кнопку "Сохранить"
3. Ждать, пока появятся ошибки
4. Проверить, если ошибки корректные - то все отлично
5. Заполнили первое поля
6.Нажать кнопку "Сохранить"
Здесь ждать пока не появятся ошибки нельзя,т.к. элемент уже есть (см. шаг 3)
Как дождаться, когда элемент измениться на странице ?
Как вариант, просто поставить задержку.
#3
Отправлено 13 декабря 2011 - 10:22
Как вариант, просто поставить задержку.
Да, это хорошо, если 2 инпут-поля. А если этих полей 50,100 или 1000. Кейс очень долго будет работать
а еще есть какие-нибудь варианты ? кто-нибудь знает
Хелп
#4
Отправлено 13 декабря 2011 - 10:27
Тут временные затраты по ожиданию будут чуть меньше, + вы сами можете ими управлять.
#5
Отправлено 13 декабря 2011 - 11:02
На сколько я понял из вашего примера, сообщение об ошибке всё ещё остаётся?Что-то никак не могу догнать, как это сделать
Использую Selenium RC+JAVA+Maven
Есть обычная форма с двумя инпут-полями и кнопкой "Сохранить"
1.Открыть форму
2. Нажать кнопку "Сохранить"
3. Ждать, пока появятся ошибки
4. Проверить, если ошибки корректные - то все отлично
5. Заполнили первое поля
6.Нажать кнопку "Сохранить"
Здесь ждать пока не появятся ошибки нельзя,т.к. элемент уже есть (см. шаг 3)
Как дождаться, когда элемент измениться на странице ?
Поэтому вам всеголишь нужно проверить что это сообщение всё ещё существует...
for (int second = 0;; second++) { if (second >= 60) Assert.fail("timeout"); try { if (selenium.isElementPresent("//div[@id='locator']")) break; } catch (Exception e) {} Thread.sleep(1000); }
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных