Repozitorij objekata u Selenium
โก Pametni saลพetak
Repozitorij objekata u Selenium centralizira lokatore elemenata u jednoj vanjskoj datoteci, odvajajuฤi ih od testnih skripti. Ovaj pristup poboljลกava odrลพavanje i omoguฤuje testerima aลพuriranje lokatora na jednom mjestu umjesto ureฤivanja mnogih testnih sluฤajeva.

ล to je repozitorij objekata?
Repozitorij objekata je zajedniฤko mjesto za pohranu svih objekata. U Selenium U kontekstu WebDrivera, objekti bi obiฤno bili lokatori koji se koriste za jedinstvenu identifikaciju web elemenata.
Glavna prednost koriลกtenja repozitorija objekata je odvajanje objekata od testnih sluฤajeva. Ako se promijeni vrijednost lokatora jednog web elementa, potrebno je promijeniti samo repozitorij objekata, umjesto da se mijenjaju svi testni sluฤajevi u kojima je lokator koriลกten. Odrลพavanje repozitorija objekata poveฤava modularnost implementacije okvira.
Vrste spremiลกta objekata u Selenium Web upravljaฤki program
Selenium WebDriver ne nudi ugraฤeno spremiลกte objekata prema zadanim postavkama. Meฤutim, spremiลกta objekata mogu se izgraditi koriลกtenjem pristupa para kljuฤ-vrijednost, gdje se kljuฤ odnosi na naziv dani objektu, a vrijednost na svojstva koja se koriste za jedinstvenu identifikaciju objekta unutar web stranice.
Sljedeฤe su vrste repozitorija objekata u kojima se moลพe stvoriti Selenium WebDriver.
- Repozitorij objekata pomoฤu datoteke svojstava
- Repozitorij objekata koji koristi XML datoteku
Selenium Web Driver Object repozitorij koji koristi datoteku svojstava
U ovom pristupu, datoteka svojstava je tekstualna datoteka u kojoj su podaci pohranjeni u obliku parova kljuฤ-vrijednost. Donji vodiฤ ฤe se baviti sljedeฤim temama.
Korak 1) Stvaranje datoteke svojstava u eclipse
- Za poฤetak, potrebno je u Eclipseu stvoriti donju strukturu Java projekta. Naziv projekta i naziv paketa mogu biti bilo koja valjana imena.
- Desnom tipkom miลกa kliknite glavnu mapu projekta i odaberite Novo-> Ostalo
- U sljedeฤem prozoru odaberite Opฤenito -> Datoteka i kliknite gumb 'Dalje'.
- U novom prozoru resursa datoteke unesite valjani naziv datoteke s ekstenzijom '.properties' i kliknite gumb 'Zavrลกi'.
- Datoteka pod nazivom 'application.properties' mora biti prikazana u strukturi projekta
Korak 2) Pohranjivanje podataka u datoteku svojstava
- Podaci se pohranjuju u datoteci svojstava u obliku parova kljuฤ-vrijednost, pri ฤemu je kljuฤ jedinstven u cijeloj datoteci.
- Pokuลกat ฤemo koristiti datoteku svojstava za identifikaciju web elemenata pomoฤu vrijednosti lokatora.
- Otvorite datoteku application.properties u Eclipse i pohranite sljedeฤe podatke
MobileTesting=//a[text()='MOBILE TESTING'] EmailTextBox = philadelphia-field-email SignUpButton = philadelphia-field-submit
4) Za ovaj vodiฤ koristi se sljedeฤa demo web stranica:
https://demo.guru99.com/test/guru99home/Evo testnog scenarija:
- Kliknite na poveznicu Testiranje mobilnih ureฤaja pomoฤu XPATH-a
- Navigacija natrag
- Unesite podatke u tekstualni okvir e-poลกte koristeฤi ID
- Kliknite na gumb Prijavi se koristeฤi ID
Korak 3) ฤitanje podataka iz datoteke svojstava
- ฤitanje podataka iz datoteke svojstava moลพe se obaviti pomoฤu ugraฤene klase Properties koja se nalazi u paketu java.util.
- U poฤetku je potrebno kreirati objekt klase Properties kao ลกto je prikazano u nastavku
Properties obj = new Properties();
- Moramo kreirati objekt klase FileInputStream s putanjom do datoteke svojstava
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
- ฤitanje podataka iz datoteke svojstava moลพe se obaviti pomoฤu metode uฤitavanja koju nudi klasa Properties u Javi. Donji kod demonstrira koriลกtenje metode uฤitavanja.
Properties obj = new Properties(); FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties"); obj.load(objfile); String mobileTesting = obj.getProperty("MobileTesting");
Niz 'mobileTesting' sadrลพavat ฤe XPATH za identifikaciju veze za mobilno testiranje unutar web stranice.
Korak 4) Koriลกtenje datoteke svojstava u testnim skriptama
Datoteka svojstava moลพe se koristiti u testnim skriptama ฤitanjem podataka iz datoteke svojstava i prosljeฤivanjem podataka kao parametra metodi findElement. Donji kod pokazuje koriลกtenje podataka proฤitanih iz datoteke svojstava u testnim skriptama.
driver.findElement(By.xpath(obj.getProperty("MobileTesting"))).click(); driver.findElement(By.id(obj.getProperty("EmailTextBox"))).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(obj.getProperty("SignUpButton"))).click();
Dolje je potpuni kod koriลกten za gornji testni scenarij.
package com.objectrepository.demo; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class DemoOR { public static void main(String[] args) throws IOException { // Create WebDriver Instance WebDriver driver; System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/guru99home/"); driver.manage().window().maximize(); // Load the properties File Properties obj = new Properties(); FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties"); obj.load(objfile); // Navigate to link Mobile Testing and Back driver.findElement(By.xpath(obj.getProperty("MobileTesting"))).click(); driver.navigate().back(); // Enter Data into Form driver.findElement(By.id(obj.getProperty("EmailTextBox"))).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(obj.getProperty("SignUpButton"))).click(); } }
Selenium Repozitorij objekata WebDriver pomoฤu XML datoteke
XML je kratica za Extensible Markup Language (proลกirivi jezik za oznaฤavanje). XML datoteka koristi model objekta dokumenta (DOM) kao osnovnu strukturu. Format XML datoteke replicirat ฤe HTML format na kojem je izgraฤena web stranica. U nastavku je popis tema koje ฤe biti obraฤene.
- Stvaranje XML datoteke u eclipseu
- Pohranjivanje podataka u XML datoteku
- ฤitanje podataka iz XML datoteke
- Koriลกtenje XML datoteke u testnim skriptama
Korak 1) Stvaranje XML datoteke u eclipse
- Potrebno je izraditi donju strukturu java projekta Eclipse.
- Desnom tipkom miลกa kliknite mapu projekta, odaberite Novo -> Ostalo
- Odaberite XML datoteku unutar XML mape i kliknite gumb 'Dalje'.
- Unesite valjani naziv XML datoteke i kliknite gumb 'Zavrลกi'
- XML datoteka bit ฤe dodana u mapu projekta kao ลกto je prikazano u nastavku
Korak 2) Pohranjivanje podataka u XML datoteku
Podaci se mogu pohraniti u XML datoteku u obliku Document Object Modela (DOM). Radi jednostavnosti, kao primjer moลพemo upotrijebiti sljedeฤi testni scenarij.
- Kliknite na poveznicu Testiranje mobilnih ureฤaja pomoฤu XPATH-a
- Natrag na poฤetnu stranicu
- Unesite podatke u tekstualni okvir e-poลกte koristeฤi ID
- Kliknite na gumb Prijavi se koristeฤi ID
U nastavku je prikazan format XML datoteke koji ฤe se koristiti.
<menu> <mobiletesting>//a[text()='MOBILE TESTING']</mobiletesting> <email> philadelphia-field-email</email> <signup> philadelphia-field-submit </signup> </menu>
Pohranite gornji XML kod u property.xml
Na kartici dizajn vidjet ฤete
Korak 3) ฤitanje podataka iz XML datoteke
1. ฤitanje podataka iz XML datoteke moลพe se postiฤi pomoฤu ugraฤene klase 'dom4j' u Javi. Imajte na umu da morate dodati dolje navedene JAR datoteke u putanju izgradnje vaลกeg projekta prije nego ลกto nastavite s kodom.
- jaxen.jar
- dom4j-1.6.jar
2. U nastavku je kod za ฤitanje podataka iz XML datoteke.
File inputFile = new File(System.getProperty("user.dir") +"\\properties.xml"); SAXReader saxReader = new SAXReader(); Document document = saxReader.read(inputFile); String mobileTesting = document.selectSingleNode("//menu/mobiletesting").getText(); String emailTextBox = document.selectSingleNode("//menu/email").getText(); String signUpButton = document.selectSingleNode("//menu/signup").getText();
3. U poฤetku moramo kreirati objekt File i proslijediti ga kao parametar metodi 'read' klase SAXReader. Nakon ลกto se podaci XML datoteke uspjeลกno proฤitaju, moลพemo pristupiti pojedinaฤnim ฤvorovima XML dokumenta pomoฤu metode 'selectSingleNode'.
Korak 4) Koriลกtenje XML datoteke u testnim skriptama
XML datoteka moลพe se koristiti u testnim skriptama ฤitanjem podataka iz XML datoteke i prosljeฤivanjem podataka kao parametra metodi findElement. Donji kod pokazuje koriลกtenje podataka proฤitanih iz XML datoteke u testnim skriptama.
driver.findElement(By.xpath(mobileTesting)).click(); driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(signUpButton)).click();
Donji kod demonstrira koriลกtenje XML datoteke u selenium WebDriveru
package com.objectrepository.demo; import java.io.*; import java.util.*; import org.dom4j.*; import org.dom4j.io.SAXReader; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class DemoORXML { public static void main(String[] args) throws DocumentException { // Creating WebDriver Instance WebDriver driver; System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/guru99home/"); driver.manage().window().maximize(); // Reading XML File File inputFile = new File(System.getProperty("user.dir") +"\\properties.xml"); SAXReader saxReader = new SAXReader(); Document document = saxReader.read(inputFile); String mobileTesting = document.selectSingleNode("//menu/mobiletesting").getText(); String emailTextBox = document.selectSingleNode("//menu/email").getText(); String signUpButton = document.selectSingleNode("//menu/signup").getText(); // Navigating to Mobile Testing and back driver.findElement(By.xpath(mobileTesting)).click(); driver.navigate().back(); // Entering Form Data driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(signUpButton)).click(); } }
Preuzmite WebDriver Eclipse Projekt













