QA Automation - 03
QA Automation - 03
- Selenium -
Developer tools
Id:
Ima prioritet
Jedinstveno identifikuje element (najverovatnije)
Primer: <input id=“username” type=“text” name=“login” />
Šta ako ima više elementa sa istim Id-jem?
Name:
Drugi na listi prioriteta
Ne moraju biti jedinstveni
Često slični Id-u
Mogu se menjati sa prevodima (sajtovi sa verzijama na više jezika)
Primer: <input id=“username” type=“text” name=“login” />
Lokatori
ClassName
Moze biti jedinstvena
Često se class atribut sastoji od više klasa
Više klasa prepoznajemo po tome što imamo znak space izmedju reči u class
atributu
Tag sa class atributom koji ima više klasa u sebi nazivaju se
compound classes
Ukoliko imamo compound classes obavezno mora da se koristi CssSelector kao
tip lokatora
Primer proste klase: <input class=“rhzReg” maxlength=“123” />
Primer compound klase: <input class=“pkr tRee head” name=“searchbtn” />
Lokatori
CssSelector
Možemo da koristimo uvek ukoliko je jedinstven
Obavezno moramo da koristimo kod compound klasa
Brži je od Xpath-a pa se tako računa “jeftinijim”
Osnovna pravila:
- lociranje web elementa po bilo kom atributu
- lociranje pomocu klase: “.” označava klasu
Primer: <input tab=“firstTab” class=“form triangle” />
CssSelector za po atributu iz primera: input[tab=’firstTab’] ili [tab=’firstTab’]
CssSelector za klasu iz primera: input.form.triangle ili .form.triangle
- Parent → direct child: div>a ← označi element “a” koji je direktni potomak elementa “div”
- Parent → any child: div a ← označi sve elemente “a” koji su unutar elementa “div”
Lokatori
Xpath:
Koristi putanju da se kreće kroz HTML kako bismo pronasli odredjeni
element
Sporiji od CssSelectora
Nekad je lakse napisati Xpath nego CssSelector
Postoje absolute I relative Xpath
Absolute: daje putanju od html tag-a do elementa
Primer: html/head/body/table/tbody/tr/th
Relative: daje najkraću putanju da se pronadje elemenat
Primer: //table/tbody/tr/th
Lokatori
Relativni Xpath 3 šablona:
PartialLinkText:
*u primeru sa slike “go here” i “click here” je ono što se zove link tekst
Selenium WebDriver
WebDriver inicijalizacija:
WebDriver driver = new ChromeDriver();
Selenium komande
Driver komande za rad sa browserom:
Komanda za otvaranje željene internet stranice:
driver.navigate().to(“https://www.google.com”)
driver.get(“https://www.google.com”)
Komanda za odlazak na prethodno posecenu stranicu: driver.navigate().back();
Komanda za odlazak na sledecu posecenu stranicu: driver.navigate().forward();
Komanda za refresh stranice: driver.navigate().refresh();
Komanda za maximizovanje stranice: driver.manage().window().maximize();
Komanda za zatvaranje driver(browsera): driver.quit();
driver.close(); ←zatvara samo trenutni tab
Vezba
Koraci:
Otvoriti Google
Maximizovati prozor
Refreshovati stranicu
Vratiti se nazad
Vratiti se napred
Napraviti After I Before Scenarije
Popuniti generisane korake odgovarajućim Selenium komandama
Pitanja?