You are on page 1of 39

Testiranje softvera

Selenium
Selenium
ActionChains
• Nači za auto atiza iju i terak ija iskog i oa poput pokreta iša,
klik a dug e iša, klik a taster i sl.
• Koris o za iz ođe je ko pleks ijih ak ija poput drag and drop
funkcionalnosti
• Na o aj ači etode se ogu „ izati“ jed a za drugo , a iz rša a je
podrazumeva redosled kojim su dodate
Selenium
ActionChains
• . ači

• . ači

move_to_element() – pomeranje miša a određe i ele e t


click() – si ula ija klika a određe i ele e t
perform() – za iz rša a je ak ija
Selenium
Drag and drop
• Primer
Selenium
Drag and drop
• Primer

Izvor: http://crossbrowsertesting.github.io/drag-and-drop.html
Selenium
Cookies
• HTTP kolačić e cookie, Internet cookie, browser cookie, cookie)
predstavlja malu količi u podataka koji se šalju sa e sajta a
raču ar koris ika preko browser-a. Prilikom ponovne posete stranice,
ro ser šalje podatke nazad serveru
• Kolačići su dizaj ira i kako i e sajto i i ali pouzda eha iza za
ču a je i for a ija pr. Priliko prija e koris ika, pa će ja koje je
stranice korisnik posetio, ubacivanja predmeta u virtuelnu korpu za
kupovinu i sl.
Selenium
Cookies
• Primer
Selenium
Cookies
• Vež a
• Na proiz olja sajt dodati kolačić i ako toga išta pati s e kolačiće
tog sajta
Selenium
switch_to

• Služi za a iga iju ili za ko trolu ad sledeći :


1. Window
2. Frame
3. Tab
4. Alert
5. Element
Selenium
switch_to.window()
Selenium
switch_to.window()

• driver.quit() – zat ara pretraži ač


• driver.close() – zatvara trenutno aktivnu karticu (tab)
Selenium
Vežba:
• Otići a sajt
• https://www.accessc.com/articles/open-external-links-new-tab.html
• Pro aći li k koji ot ara stra i u u o o prozoru

• Kliknuti na link u novootvorenim prozoru


• Zatvoriti novootvoreni prozor
• Logovati na terminal URL trenutnog prozora i sve promene
• Zat oriti počet i prozor
Selenium
switch_to_alert()
• Alert služi za skreta je paž je koris ika, ispis poruke i iz ođe je eke opera ije,
kao što je pot rda ili u os
• Spreča a koris ika da pristupi ostali delo i a e stra i e dok se alert e
zatvori
• Tipovi:
1. Alert
2. Confirm Napomena
3. Prompt • Ne ože se ide tifiko ati pute i spe t alata
• Ne ože se pisati path
• Alert nije prozor!
Selenium
Alert klasa
• Služi za upra lja je Ja aS ript alert-ima
• Sadrži polje text za dobijanje teksta iz alert prozora: alert.text
• Sadrži etode:
Selenium
Upozore ja/obavešte ja e gl. alert
• Mogu se pojaviti prilikom:
• Učita a ja stra i e
• Zatvaranja stranice
• Klika na element
• Des og klika iše
• Pogreš og u osa u polje
• Ču a ja
• Sintaksa za upravljanje
Selenium
alert()
• Metoda prikazuje alert sa porukom i dugmetom OK
• Koristi se za informisanje korisnika
• Različiti izgled u različiti pretraži ači a
• S it h_to_alert o oguća a upra lja je alert-om

Izvor: http://chercher.tech/python/switchto
Selenium
confirm()
• Metoda prikazuje alert sa porukom i dugmetom OK i Cancel
• Vraća se true ukoliko je klik uto a OK i false u suprot o klik a Ca el ili X
ikonicu)
• Nema razlike u upravljanju u odnosu na alert box
Selenium
prompt()
• Metoda prikazuje alert sa poruko i i put polje gde je oguće upisati tekst
• Koristi se za prikupljanje unosa korisnika
• Dodat a op ija korišće ja etoda se d_ke s
Selenium
alerts.html
Selenium
alerts.html
Selenium
alerts.py
Selenium
Headless browser

• We ro ser ez koris ičkog i terfejsa UI, GUI


• S e ko trole poput o ič og ro ser-a
• „Razu e“ HTML, JS
• Pogodan za automatizovano testiranje web stranica
• Iz rša a je jed og ili iše auto atizo a ih UI testo a u pozadi i
Selenium
Headless browser
• Implementacija:
 Google Chrome (Headless Chrome – dostupan u verzijama 59+)
 Firefox (Firefox Headless Mode)
 PhantomJS
 HtmlUnit
 Zombie JS
 Splash
• Nisu svi prikladni za isti tip test scenaria
• Ispro ati iše različitih ko i a ija
Izvor: https://www.keycdn.com/blog/headless-browsers/
Selenium
Headless browser
Pisa je i iz rša a je skripti za:
• Testiranje osnovnih tokova
• Simulaciju klika na link/dugme
• Simulacija unosa sa tastature
• Automatizacija ispunjavanja formi
• Testiranje SSL performansi
• Pra lje je iz eštaja o rzi i odgo ora stra i e
• Generisanje snimka ekrana (engl. screenshot)
• Generisanje PDF dokumenata stranice
Selenium
Headless browser
Primer
Selenium
Headless browser
Primer
Selenium
Unit testiranje – podsetnik
Testiranje izolovane jedinice koda (modul, klasa, funkcija)
Cilj – kod koji je labavo povezan (loosely coupled)
• Priprema testa
• Test case – pojedinačna jedinica za testiranje
• Test suite – kolek ija test ih slučaje a, testo i koji tre a da se iz rše
zajedno
• Test runner – ko po e ta koja upra lja iz rša a je testo a i ukazuje
na rezultat
Selenium
Assert
• Izraz koji se proverava (izjava, tvrdnja)
• Ukoliko je false, baca se izuzetak AssertionError exception
• Često se posta lja a početak fu k ije, kako i se pro erile ulaz e red osti
(input) i nakon funkcije kako bi se proverio izlaz (output)
• Sintaksa:
assert Expression[, Arguments]
• Primeri:
assert Google in driver.title
assert "No results found." not in driver.page_source
Selenium
Najčešće korišće e etode klase TestCase
Selenium
Postupak
1. Defi isa je klase asleđe e iz u ittest.TestCase
2. Defi isa je fu k ija koje poči ju sa „test_“
3. Iz rša a je testo a po oću u ittest. ai
Selenium
Unittest
Primer 1
Selenium
Unittest
Vežba
• Koji je rezultat iz rša a ja testa iz pri era ?
• Primer 1 izmeniti tako da rezultat bude suprotan
Selenium
Unittest
Primer 2
Selenium
Unittest
Primer 2
Selenium
Unittest
• Korak 1: Otvaranje Chrome pretraži ača
• Korak 2: Unos URL-a i maksimiziranje prozora
• Korak 3: Unos teksta 'Test Python' u polje za unos
• Korak 4: Klik na dugme
• Korak 5: Provera da li je tekst unesen
• Korak 6: Zat ara je pretraži ača
Selenium
Unittest
• Ukoliko je test uspeša , ispisuje se „OK“

• Ukoliko je došlo do greške rezultat je „FAILED“


Selenium
Zadatak 1
• Potpuno testiranje aplikacije po oću Sele iu We Dri er-a)
dostupne na:
https://milivojepopovac.github.io/ng-blogger/
Selenium
WebDriver dokumentacija:
http://selenium-python.readthedocs.io/

You might also like