Показаны сообщения с ярлыком wait. Показать все сообщения
Показаны сообщения с ярлыком wait. Показать все сообщения

суббота, 28 апреля 2012 г.

Заставляем браузер ждать пока существует определенный элемент.

Для реализации такой функции в наших тестах нам потребуется класс WebDriverWait и  класс Predicate.

Пишем следующую функцию:

public void waitUntilElementPresent(final String xpath){
        new WebDriverWait(this.driver, 10).until(new Predicate<WebDriver>() {
            public boolean apply(WebDriver arg0) {
                return !arg0.findElement(By.xpath(xpath)).isDisplayed();
            }
        });
    }

При вызове этой функции браузер будет ждать до тех пор пока элемент с xpath, который мы передали, существует.

PS: Небольшая поправка, в данном случае браузер будет ждать 10 секунд.