Professional Documents
Culture Documents
Selenium
Selenium
Selenium WebDriver – Implicitno i eksplicitno čekanje
• U zavisnosti od različitih faktora (operativni sistem, pretraži ač...), WebDriver
ože čekati i ne mora da se u potpunosti učita sadržaj neke stranice
• Ukoliko se iz rša a je testa nastavi, a stranica nije u potpunosti učita a, doći će
do greške u iz rša a ju testa. Iz tog razloga je sinhronizacija iz eđu aplikacije,
koja se testira i WebDrivera koji iz rša a test skriptu veoma bitna. Ovo se
posebno odnosi na komplikovane Web sajtove, aplikacije koje u velikoj meri
koriste JavaScript
• Nakon svakog otvaranja i učita a ja nove stranice u sistemu treba obezbediti
odgo arajuće čeka je (engl. wait), kako bi stranica bila potpuno učita a i
spremna za upotrebu
• Selenium WebDriver o ogućava sinhronizaciju na dva ači a:
• Sinhronizacija implicitnim čeka je
• Sinhronizacija eksplicitnim čeka je
Selenium
Selenium WebDriver – Implicitno čekanje
• Sinhronizacija implicitnim čeka je predstavlja sinhronizaciju ugrađe u u
sam sistem. To o oguća a da ukoliko WebDriver ne ože odmah da
pro ađe element na stranici, mora da sačeka neko određe o vreme da se
element pojavi
• Vreme čeka ja određuje korisnik i podrazumeva se da je globalno -
primenjuje se na pretragu svih elemenata. Podrazumevano vreme čeka ja je
0 sekundi
• Prilikom definisanja vremena treba biti oprezan jer implicitno čeka je
usporava iz rša a je testova
Selenium
Selenium WebDriver – Implicitno čekanje
• U prikazanom primeru
se iz rša a i pli it o
čeka je od seku di
Selenium
Selenium WebDriver – Eksplicitno čekanje
• Eksplicitno čeka je podrazumeva da korisnik defi iše odgo arajući uslov čije
iz rše je treba da se sačeka i tek nakon toga se rši želje a akcija
• Eksplicitno čeka je se primenjuje samo u onim slučaje i a kada se očekuje da će
trebati iše vremena da se određe i element učita, dok ostatak aplikacije radi
normalno
• Selenium WebDriver, uz po oć WebDriverWait and ExpectedCondition klasa,
podrža a sinhronizaciju eksplicitnim čeka je . ExpectedCondition klasa sadrži
skup predefinisanih uslova za čeka je
Selenium
Selenium WebDriver – Eksplicitno čekanje
• U prikazanom primeru se
čeka seku di da se
pro ađe ele e t pre ego
što se ja i greška
TimeoutException
• Ele e t se traži preko ID-a
• Koriste se predefinisani
uslovi iz EC (Expected
Conditions) koji su
importovani
Selenium
Selenium WebDriver – Eksplicitno čekanje
• Uslo i koji se često koriste kada se iz rša a auto atiza ija e ro sera Expected Conditions):
• title_is
• title_contains
• visibility_of_element_located
• visibility_of
• presence_of_all_elements_located
• text_to_be_present_in_element
• text_to_be_present_in_element_value
• frame_to_be_available_and_switch_to_it
• invisibility_of_element_located
• element_to_be_clickable
• element_to_be_selected
• element_located_to_be_selected
• alert_is_present
• ...
• Ukoliko ijeda od postojećih uslo a e odgo ara, ože se defi isati o i
Selenium
Selenium WebDriver