Разница между явным ожиданием и свободным ожиданием относительно текущей версии селен 3.14 - PullRequest
0 голосов
/ 18 марта 2020

Я понимаю, что в этом вопросе есть все возможные дубликаты. Но дело в том, что я хотел бы знать разницу по сравнению с текущей версией селена.

Моя точка зрения такова, что ожидание имеет опции для опроса времени и игнорирования исключений, тогда в чем преимущество используя это свободное ожидание

1 Ответ

2 голосов
/ 19 марта 2020

Это не разные типы ожидания, WebDriverWait - это специализированная версия FluentWait с некоторыми опциями конструктора.

В библиотеке WebDriver java в наследовании есть 3 типа Дерево WebDriverWait:

Wait - это обобщенный c интерфейс для ожидания, пока условие не станет истинным или не равным нулю. Очень базовый c и не определяет, как все это делается.

FluentWait является реализацией интерфейса Wait, для которого могут быть настроены время ожидания и интервал опроса на лету. Этот класс является обобщенным c и требует типа <T>

WebDriverWait extends FluentWait и является специализацией, которая использует WebDriver экземпляров.

Предпочитает WebDriverWait вместо FluentWait, когда ваш generi c type <T> будет <WebDriver>. Он направлен на облегчение строительства.

С учетом данного экземпляра WebDriverWait

    WebDriverWait wait = new WebDriverWait(driver, 30);

Это то, на что похож эквивалент FluentWait для создания

    FluentWait<WebDriver> wait = new FluentWait<>(driver, new SystemClock(), Sleeper.SYSTEM_SLEEPER);
    wait.withTimeout(Duration.ofSeconds(30));
    wait.pollingEvery(Duration.ofMillis(500));
    wait.ignoring(NotFoundException.class);

Это разница настолько велика. Полученный объект будет вести себя так же. WebDriverWait просто дает вам эти значения по умолчанию бесплатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...