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 который ждет ровно столько, сколько нужно что бы появился целевой элемент.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект