Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Насколько Implicit Wait замедляет работу WebDriver теста


(Michael Bodnarchuk) #1

Появился вопрос и я думаю опытные автоматизаторы мне легко подскажут ответ. Все знают, что в вебдрайвере есть механизм implicit wait

An implicit wait is to tell WebDriver to poll the DOM for a certain amount of time when trying to find an element or elements if they are not immediately available. The default setting is 0. Once set, the implicit wait is set for the life of the WebDriver object instance.

Судя по описанию штука классная. Значит, если элементов нет - мы подождем их, но если они есть - продолжим выполнение теста. Но если я включаю задержку в 5секунд, мой тест почему-то выполняется на 20 секунд дольше и я вижу как он явно тупит на страницах. Хотя исходя из описания, если страница загружена полностью и все элемнеты есть - задержек быть не должно.

Чего-то я не понимаю… Варианты такие:

  • Это так и должно быть?
  • Может это проблема в клиенте (php-webdriver)?
  • В сервере? (2.35)

(sidelnikovmike) #2

А все ли элементы загрузились? Я если честно не знаю, как влияет значение ожидания при переходе именно, но предположение такое.


(Александр Таранков) #3

Ответа на вопросы у меня нет, расскажу про свой опыт его использования.

Я однажды попробовал использовать implicit wait, для эксперимента, но поведение теста стало каким-то неожиданным. Не помню уже деталей, факт в том, что мне не понравилось и я не стал его использовать.

Думаю в каких-то случаях, для каких-то приложений его применение может быть оправдано. Но я не встречался с такими. Ожидание появления элемента через AjaxElementLocatorFactory решает, на мой взгляд.