Если вы тестируете веб-приложение которое использует тяжелые и долгие ajax-запросы у вас может возникнуть ситуация когда, браузеру необходимо ждать завершения запроса.
Использование метода Thread.sleep() не безопасно. Зачем нам останавливать всю программу если мы можем просто попросить наш браузер подождать?
Лезть в исходный код Selenium мы не будем. Напишем собственный класс реализующий интерфейс WebDriver.
public final class MyDriver implements WebDriver {
//реализуем все методы WebDriver
//и добавим свой метод
public void sleep(long timeout) {
try {
new WebDriverWait(this, timeout)
.until(new Predicate<WebDriver>() {
public boolean apply(WebDriver arg0) {
return false;
}
});
} catch (Exception e) {
}
}
}
Собственно на этом все. Теперь когда в вашем тест-кейсе будет требоваться ожидание-просто вызовите метод драйвера sleep();
Использование метода Thread.sleep() не безопасно. Зачем нам останавливать всю программу если мы можем просто попросить наш браузер подождать?
Лезть в исходный код Selenium мы не будем. Напишем собственный класс реализующий интерфейс WebDriver.
public final class MyDriver implements WebDriver {
//реализуем все методы WebDriver
//и добавим свой метод
public void sleep(long timeout) {
try {
new WebDriverWait(this, timeout)
.until(new Predicate<WebDriver>() {
public boolean apply(WebDriver arg0) {
return false;
}
});
} catch (Exception e) {
}
}
}
Собственно на этом все. Теперь когда в вашем тест-кейсе будет требоваться ожидание-просто вызовите метод драйвера sleep();
Комментариев нет:
Отправить комментарий