You are on page 1of 31

Testiranje softvera

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

I plicit o čeka je Eksplicit o čeka je


Primenjuje se na sve elemente Pri e juje se sa o a određe e ele e te

Ne defi iše se uslo Defi iše se uslo

Preporučlji o koristiti kada se svi elementi Preporučlji o koristiti kada određe i


učita aju u pri liž o re e u ele e ti a tre a iše re e a da se učitaju ili je
potre o erifiko ati određe o sta je ele e ta
Selenium
WebElement klasa
• O ez eđuje i terak iju sa ele e ti a stra i e
• Osobine i metode ove klase se mogu koristiti za interakciju sa
ele e ti a kao što su: polja za u os teksta, dug ad, polja za
čekira je, ta ele itd.
• O oguća a auto atiza iju a iga ije, pristup kolačići a e gl.
cookies), ču a je s i ka ekra a e gl. screenshot)
Selenium
WebElement klasa – najbitnija polja
Selenium
WebElement klasa – najbitnije metode
Selenium
WebElement klasa – najbitnije metode
Selenium
Selenium WebDriver – Interakcija sa stranicom

• Rad sa tekstualnim poljima i formama


• Primer pronalaska polja po id-u, risa je sadržaja – clear(), upis teksta –
send_keys() i potvrda – submit()

su it se ože pri e iti sa o


na forme i elemente forme
Selenium
Selenium WebDriver – Interakcija sa stranicom
• Primer pronalaska polja po nazivu, unos teksta, simulacija pritiska strelice
a dole, risa je sadržaja polja, si ula ija klika a dug e – click()
• click() se ože koristiti sa o ad ele e ti a koji i aju širi u i isi u > 0px
<input type="text" name="passwd" id="passwd-id" />
<button type="button" class="button">Click Me!</button>

Nako upisa teksta iće


„pritis uta streli a a dole
Selenium
Selenium WebDriver – Interakcija sa stranicom
send_keys
• Metoda koja se ože pri e ji ati a polja koja prih ataju tekstual i u os
(textbar, text area, button) – tekst se dodaje a postojeći sadržaj
Parametar Keys
• Pritiskom na ctrl + space prikazuju se moguće op ije
Selenium
Interakcija sa stranicom
text
• Metoda koja raća idlji i tekst ele e ta
Selenium
Interakcija sa stranicom
get_attribute
• Provera vrednosti atributa elemenata
• Metoda koja raća red ost određe og atri uta
Selenium
Interakcija sa stranicom
value_of_css_property
• Provera CSS vrednosti
• Metoda koja raća red ost ss propert -a elementa
• Može postojati razlika u ss red osti - u za is osti od pretraži ača
Selenium
Interakcija sa stranicom
sizeOfElement
• Pro era eliči e ele e ta
• Metoda koja raća red ost isi e/širi e ele e ta Bo odel
Selenium
Interakcija sa stranicom
is_displayed
• Metoda koja raća red ost true/false u za is osti od toga da li je ele e t
prikazan ili ne
Selenium
Interakcija sa stranicom
is_enabled
• Metoda koja raća red ost true/false u za is osti od red osti atri uta e a led
nekog elementa
• Ukoliko ije defi isa taka atri ut za eki ele e t, raća se true
Selenium
Interakcija sa stranicom
is_selected
• Metoda koja raća red ost true/false u za is osti od toga da li je eki ele e t
selektovan
• Najčešće se koristi za he k o -o e, radio dug iće i dropdo liste
Selenium
Interakcija sa stranicom
• Lista metoda za simulaciju

Izvor: Learning Selenium Testing Tools With Python


Selenium
Interakcija sa stranicom
Selenium
Test Case 1:
Automatizacija prikaza svih slika iz određe og foldera
Selenium
Test Case 1:
Selenium
Test Case 2:
Napra iti skriptu koja auto atizuje sledeći postupak:
1. Otići a sajt google-a
2. U polje za pretragu uku ati „Sele iu We Dri er
3. Prikazati slike
4. Ispisati dimenzije i url slike
5. Simulirati klik na sliku
6. Simulirati desni klik na sliku*
Selenium
Test Case 3:
Preuzimanje pesama sa YouTube-a u MP3 formatu
Test koraci:
1. Otići a sajt YouTube-a
2. Pro aći želje u pes u
3. Preuzeti URL
4. Otići a neki YT2MP3 sajt
5. Kopirati url u odgo arajuće polje
Selenium
Test Case 4:
Odrediti da li je li k i ter i ili ekster i po oću url-a.
• I ter i li k služi za redirek iju a drugu e stra i u iste aplika ije
• Ekster i li k služi za redirek iju a drugu stra i u druge aplika ije
Test koraci:
1. Pokre uti pretraži ač Pomoć:
2. Navigirati na Selenium stranicu sajta Wikipedia.org
3. Klik uti a „Create A ou t li k
4. Po oću url –a odrediti da li je li k i ter i ili ekster i i išta pati rezultat
5. Navigirati na prethodnu stranicu
6. Klik uti a li k „sele iu .org
7. Po oću url –a odrediti da li je li k i ter i ili ekster i i išta pati rezultat
8. Zat oriti pretraži ač
Selenium
Test Case 5:
Automatizacija slanja e-mail-a
1. Recipient: mira994@gmail.com
2. Subject: Testiranje Softvera
3. Sadržaj:
Ovo je automatska poruka poslata koriscenjem Selenium-a +
ImePrezime

You might also like