Selenium 37. Czekanie na warunki: ExplicitWait

W tej lekcji pokażę Ci co możemy zrobić, żeby poczekać na spełnienie jakiś warunków zanim wykonamy kolejne kroki w teście.

To, co będziemy chcieli zrobić najczęściej to czekanie na elementy. Możesz chcieć zapytać: ale o co chodzi, skoro mamy timeouty? A no na przykład o to, że timeouty działają jedynie dla obecności elementu na stronie. A co jeżeli będziemy chcieli poczekać nie aż element się znajdzie na stronie, ale aż będzie klikalny? No właśnie wtedy użyjemy rozwiązania podanego w tej lekcji.

Explicit Wait, bo tak się też nazywa ten rodzaj waita, ma jeszcze kilka innych przewag nad Implicit Wait. Jest bardziej elastyczny w przeciwieństwie do Implicit Wait, który jest ustawieniem globalnym. Oznacza to, że Explicit Wait używamy tam, gdzie go potrzebujemy i możemy zdecydować jakich akcji ma dotyczyć. Możemy też dowolnie dobierać wartość timeoutu, która nie będzie wspólna w całym teście, a odpowiednia dla konkretnego przypadku.

Więcej o różnicach między Implicit i Explicit Wait oraz o tym jak możemy używać Explicit Wait, zobaczysz na filmie.

Dokumentację do klasy omawianej w tym filmie znajdziesz tutaj: Class WebDriverWait.

 

 

Wsparcie merytoryczne

Nie masz aktywnego członkostwa. Wykup dostęp albo Zaloguj się, by móc zadawać pytania.

  1. Hej,
    na filmie odnosisz się do konstruktorów, które według dokumentacji są deprecated:
    https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/support/ui/WebDriverWait.html
    https://snipboard.io/fxFP35.jpg

    Pracuje na selenium w wersji 3.141.59 i jednak te konstruktory są dostępne w repozytorium:
    org/openqa/selenium/support/ui/WebDriverWait.java

    Czyżby dokumentacja dotyczyła najnowszych wersji selenium?
    O co tu kaman?

    Odpowiedz