Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

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 dostępu do wsparcia merytorycznego dla tego kursu. 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