Kaj je Object Repository?
Skladišče predmetov je skupno mesto za shranjevanje vseh predmetov. V kontekstu Selenium WebDriver so predmeti praviloma lokatorji, ki se uporabljajo za enolično prepoznavanje spletnih elementov.
Glavna prednost uporabe skladišča predmetov je ločevanje predmetov od testnih primerov. Če se spremeni vrednost lokatorja enega spletnega elementa, je treba spremeniti samo repozitorij predmetov, namesto da bi spreminjali vse testne primere, v katerih je bil lokator uporabljen. Vzdrževanje skladišča predmetov povečuje modularnost izvajanja ogrodja.
V tej vadnici boste izvedeli-
- Kaj je Object Repository?
- Vrste skladišč predmetov v spletnem gonilniku Selenium
- Repozitorij predmetov Selenium Web Driver z datoteko Properties
- Skladišče predmetov Selenium WebDriver z uporabo datoteke XML
Vrste skladišč predmetov v spletnem gonilniku Selenium
Selenium WebDriver privzeto ne ponuja vgrajenega skladišča predmetov. Vendar je mogoče shrambe predmetov zgraditi s pristopom par ključ-vrednost, pri čemer se ključ nanaša na ime, dano predmetu, vrednost pa na lastnosti, uporabljene za enolično identifikacijo predmeta na spletni strani.
Sledijo tipi repozitorijev predmetov, ki jih je mogoče ustvariti v programu Selenium WebDriver.
- Repozitorij objektov z datoteko Properties
- Repozitorij objektov z uporabo datoteke XML
Repozitorij predmetov Selenium Web Driver z datoteko Properties
Pri tem pristopu je datoteka z lastnostmi besedilna datoteka, v kateri so podatki shranjeni v obliki parov ključ-vrednost. Spodnja vadnica bo obravnavala naslednje teme.
- Ustvarjanje datoteke z lastnostmi v eclipseu
- Shranjevanje podatkov v datoteko lastnosti
- Branje podatkov iz datoteke lastnosti
- Uporaba datoteke lastnosti v testnih skriptih
1. korak) Ustvarjanje datoteke z lastnostmi v eclipseu
- Za začetek je treba v eclipse ustvariti spodnjo strukturo java projekta. Ime projekta in ime paketa sta lahko poljubni veljavni imeni.
- Z desno miškino tipko kliknite glavno mapo projekta in izberite Novo-> Drugo
- V naslednjem oknu izberite Splošno -> Datoteka in kliknite gumb 'Naprej'
- V novem oknu vira datoteke vnesite veljavno ime datoteke s pripono '.properties' in kliknite gumb 'Finish'
- V strukturi projekta mora biti prikazana datoteka z imenom "application.properties"
Korak 2) Shranjevanje podatkov v datoteko lastnosti
- Podatki so shranjeni v datoteki z lastnostmi v obliki parov ključ-vrednost, pri čemer je ključ edinstven v datoteki.
- Poskusili bomo uporabiti datoteko lastnosti za identifikacijo webelementov z uporabo lokatorjev.
- Odprite datoteko application.properties v Eclipse in shranite naslednje podatke
MobileTesting = // a [text () = 'MOBILNO TESTIRANJE']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-field-submit
4) Za to vadnico se uporablja naslednje predstavitveno spletno mesto: http://demo.guru99.com/test/guru99home/. Tu je testni scenarij:
- Kliknite povezavo Mobile Testing s pomočjo XPATH
- Pomik nazaj
- Vnesite podatke v e-poštno polje z ID-jem
- Kliknite gumb Prijava z ID-jem
3. korak) Branje podatkov iz datoteke lastnosti
- Branje podatkov iz datoteke lastnosti lahko izvedete z uporabo vgrajenega razreda Properties iz paketa java.util.
- Sprva je treba ustvariti objekt razreda Properties, kot je prikazano spodaj
Lastnosti obj = nove lastnosti ();
- Ustvariti moramo objekt razreda FileInputStream s potjo do datoteke z lastnostmi
FileInputStream objfile = nov FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
- Branje podatkov iz datoteke lastnosti lahko izvedete z uporabo metode nalaganja, ki jo ponuja razred lastnosti v javi. Spodnja koda prikazuje uporabo metode nalaganja.
Lastnosti obj = nove lastnosti ();FileInputStream objfile = nov FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);Niz mobileTesting = obj.getProperty ("MobileTesting");
Niz 'mobileTesting' bo vseboval XPATH za identifikacijo povezave Mobile Testing na spletni strani.
4. korak) Uporaba datoteke lastnosti v testnih skriptih
Datoteko z lastnostmi lahko uporabite v testnih skriptih tako, da preberete podatke iz datoteke z lastnostmi in podatke posredujete kot parameter v metodo findElement. Spodnja koda prikazuje uporabo podatkov, prebranih iz datoteke lastnosti v testnih skriptih.
driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). click ();
Spodaj je celotna koda, uporabljena za zgornji testni scenarij.
paket com.objectrepository.demo;uvoz java.io.FileInputStream;uvoz java.io.FileNotFoundException;import java.io.IOException;uvoz java.util.Properties;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;javni razred DemoOR {public static void main (String [] args) vrže IOException {// Ustvari primerek WebDriverGonilnik WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");gonilnik = nov ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Naloži datoteko lastnostiLastnosti obj = nove lastnosti ();FileInputStream objfile = nov FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Nagigate za povezavo Mobile Testing in Backdriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.navigate (). back ();// Vnesite podatke v obrazecdriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). click ();}}
Skladišče predmetov Selenium WebDriver z uporabo datoteke XML
XML pomeni Extensible Markup Language. Datoteka XML kot osnovno strukturo uporablja dokumentni objektni model (DOM). Datoteka XML bo ponovila obliko HTML, na podlagi katere je spletna stran zgrajena. Spodaj je seznam tem, ki bodo obravnavane.
- Ustvarjanje datoteke XML v eclipseu
- Shranjevanje podatkov v datoteko XML
- Branje podatkov iz datoteke XML
- Uporaba datoteke XML v testnih skriptih
Korak 1) Ustvarjanje datoteke XML v eclipseu
- Spodnjo strukturo java projekta je treba ustvariti v programu Eclipse.
- Z desno miškino tipko kliknite mapo projekta, izberite Novo -> Drugo
- V mapi XML izberite datoteko XML in kliknite gumb »Naprej«
- Vnesite veljavno ime datoteke XML in kliknite gumb »Dokončaj«
- Datoteka XML bo dodana v mapo projekta, kot je prikazano spodaj
Korak 2) Shranjevanje podatkov v datoteko XML
Podatke lahko shranite v datoteko XML v obliki objektnega modela dokumenta (DOM). Zaradi poenostavitve lahko za primer uporabimo spodnji testni scenarij.
- Kliknite povezavo Mobile Testing s pomočjo XPATH
- Pojdite nazaj na domačo stran
- Vnesite podatke v e-poštno polje z ID-jem
- Kliknite gumb Prijava z ID-jem
Spodaj je oblika datoteke XML, ki jo bomo uporabili.
Zgornjo kodo XML shranite v lastnosti.xml
V zavihku za načrtovanje boste videli
3. korak) Branje podatkov iz datoteke XML
1. Branje podatkov iz datoteke XML lahko izvedete z uporabo vgrajenega razreda 'dom4j' v javi. Prosimo, upoštevajte, da morate spodaj datoteke JAR dodati v gradbeno pot svojega projekta, preden nadaljujete s kodo.
- jaxen.jar
- dom4j-1.6.jar
2. Spodaj je koda za branje podatkov iz datoteke XML.
File inputFile = nova datoteka (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nov SAXReader ();Dokument dokumenta = saxReader.read (inputFile);Niz mobileTesting = document.selectSingleNode ("// meni / mobiletesting"). GetText ();Niz emailTextBox = document.selectSingleNode ("// meni / e-pošta"). GetText ();Niz signUpButton = document.selectSingleNode ("// meni / prijava"). GetText ();
3. Sprva moramo ustvariti objekt File in ga poslati kot parameter metodi branja razreda SAXReader. Ko so podatki o datoteki XML uspešno prebrani, lahko z metodo 'selectSingleNode' dostopamo do posameznih vozlišč dokumenta XML.
4. korak) Uporaba datoteke XML v testnih skriptih
Datoteko XML lahko uporabimo v testnih skriptih tako, da preberemo podatke iz datoteke XML in podatke posredujemo kot parameter v metodo findElement. Spodnja koda prikazuje uporabo podatkov, prebranih iz datoteke XML v testnih skriptih.
driver.findElement (By.xpath (mobileTesting)). click ();driver.findElement (By.id (emailTextBox)). sendKeys (" Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.");driver.findElement (By.id (signUpButton)). click ();
Spodnja koda prikazuje uporabo datoteke XML v selenu WebDriver
paket com.objectrepository.demo;uvoz java.io. *;uvoz java.util. *;uvoz org.dom4j. *;import org.dom4j.io.SAXReader;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;javni razred DemoORXML {public static void main (String [] args) vrže DocumentException {// Ustvarjanje primerka WebDriverGonilnik WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");gonilnik = nov ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Branje datoteke XMLFile inputFile = nova datoteka (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nov SAXReader ();Dokument dokumenta = saxReader.read (inputFile);Niz mobileTesting = document.selectSingleNode ("// meni / mobiletesting"). GetText ();Niz emailTextBox = document.selectSingleNode ("// meni / e-pošta"). GetText ();Niz signUpButton = document.selectSingleNode ("// meni / prijava"). GetText ();// Krmarjenje do mobilnega testiranja in nazajdriver.findElement (By.xpath (mobileTesting)). click ();driver.navigate (). back ();// Vnos podatkov obrazcadriver.findElement (By.id (emailTextBox)). sendKeys (" Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.");driver.findElement (By.id (signUpButton)). click ();}}
Prenesite projekt WebDriver Eclipse
Povzetek:
- Skladišče predmetov je skupno mesto za shranjevanje vseh predmetov
- Selenium WebDriver privzeto ne ponuja vgrajenega skladišča predmetov
- V programu Selenium lahko ustvarite dve vrsti skladišča predmetov
- Repozitorij objektov z datoteko Properties
- Repozitorij objektov z uporabo datoteke XML
- Datoteka lastnosti je besedilna datoteka, v kateri so podatki shranjeni v obliki parov ključ-vrednost
- Datoteka XML bo ponovila obliko HTML, na podlagi katere je spletna stran zgrajena.