понедельник, 6 февраля 2012 г.

Пишем безопасное ожидание для браузера

Если вы тестируете веб-приложение которое использует тяжелые и долгие 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();



Комментариев нет:

Отправить комментарий