sinneren
@sinneren

Как правильно тормозить проверку условия при переходе на другую страницу?

@Then("^переход на \"([^\"]*)\"$")
    public void shouldBe(final String shouldBeUrl){
        WebDriverWait waitForOne = new WebDriverWait(driver, 10);
        waitForOne.until(ExpectedConditions.urlToBe(shouldBeUrl));
    }


Использую такую конструкцию, но срабатывает в 1\10 случае, наверно. Никаких 10 секунд не ждёт.

Такая конструкция тоже не работает
driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
@azShoo
Выносите wait в отдельную функцию, которая принимает на вход драйвер и целевой элемент.
Функция в цикле с минимальным таймаутом проверяет целевой элемент на наличие\видимость\кликабельность, как только его находит - возвращает true.
Сверху навернуть максимальный таймаут, что бы не впадала в бесконечный цикл и вуаля.
У вас wait который ждет ровно столько, сколько нужно что бы появился целевой элемент.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
02 дек. 2024, в 20:03
75000 руб./за проект
02 дек. 2024, в 19:15
10000 руб./за проект
02 дек. 2024, в 18:47
300000 руб./за проект