Skapa objektförvar i Selenium WebDriver: XML & Egenskapsfil

Innehållsförteckning:

Anonim

Vad är ett objektförvar?

Ett objektförvar är en vanlig lagringsplats för alla objekt. I Selenium WebDriver-sammanhang skulle objekt vanligtvis vara lokaliserarna som används för att identifiera webbelement unikt.

Den största fördelen med att använda objektförvaret är segregeringen av objekt från testfall. Om lokaliseringsvärdet för en webbelement ändras behöver endast objektförvaret ändras snarare än att göra ändringar i alla testfall där sökaren har använts. Att underhålla ett objektförråd ökar modulens implementering av ramverk.

I den här handledningen lär du dig-

  • Vad är ett objektförvar?
  • Typer av objektförråd i Selen Web Driver
  • Selenium Driver Driver Objektförvar med Egenskaper-fil
  • Selenium WebDriver Object Repository med XML-fil

Typer av objektförråd i Selen Web Driver

Selen WebDriver erbjuder inte ett inbyggt objektförvar som standard. Objektförvar kan emellertid byggas med användning av nyckel-värde-parmetoden, där nyckeln hänvisar till namnet som ges till objektet och värdet hänvisar till de egenskaper som används för att identifiera ett objekt på webbsidan unikt.

Följande är de typer av objektförvar som kan skapas i Selenium WebDriver.

  1. Objektförvar med egenskaper-filen
  2. Objektförvar med XML-fil

Selenium Driver Driver Objektförvar med Egenskaper-fil

I detta tillvägagångssätt är egenskapsfilen en textfil där data lagras i form av nyckel-värdepar. Nedanstående handledning kommer att behandla följande ämnen.

  • Skapa en egenskapsfil i förmörkelse
  • Lagring av data i egenskapsfilen
  • Läser data från fastighetsfilen
  • Använda egenskapsfilen i testskript

Steg 1) Skapa en egenskapsfil i förmörkelse

  1. Till att börja med måste Java-projektstrukturen nedan skapas i förmörkelse. Projektnamn och paketnamn kan vara valfria namn.

  1. Högerklicka på huvudmappen och välj Ny-> Övrigt

  1. I nästa fönster väljer du Allmänt -> Arkiv och klickar på knappen 'Nästa'

  1. Ange ett giltigt filnamn med tillägget '.properties' i det nya filresursfönstret och klicka på 'Slutför' -knappen

  1. En fil med namnet 'application.properties' måste visas i Project Structure

Steg 2) Lagra data i egenskapsfilen

  1. Data lagras i egenskaper-filen i form av nyckel-värdepar, med nyckeln unik i hela filen.
  2. Vi kommer att försöka använda egenskapsfilen för att identifiera webbelement med hjälp av lokaliseringsvärden.
  3. Öppna filen application.properties i Eclipse och lagra följande data
MobileTesting = // a [text () = 'MOBILTESTING']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-field-submit

4) För denna handledning används följande demowebbplats: http://demo.guru99.com/test/guru99home/. Här är testscenario:

  • Klicka på länken Mobile Testing med hjälp av XPATH
  • Navigera tillbaka
  • Ange data i e-posttextrutan med ID
  • Klicka på knappen Registrera med ID

Steg 3) Läsa data från egenskapsfilen

  1. Att läsa data från egenskapsfilen kan göras med hjälp av den inbyggda egenskapersklassen i paketet java.util.
  2. Inledningsvis måste ett objekt av klassen Egenskaper skapas enligt nedan
 Egenskaper obj = nya egenskaper (); 
  1. Vi måste skapa ett objekt av FileInputStream-klassen med sökvägen till egenskaper-filen
FileInputStream objfile = ny FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Att läsa data från egenskapsfilen kan göras med hjälp av laddningsmetoden som erbjuds av Properties-klassen i java. Koden nedan visar användningen av belastningsmetoden.
Egenskaper obj = nya egenskaper ();FileInputStream objfile = ny FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty ("MobileTesting");

Strängen 'mobileTesting' kommer att innehålla XPATH för att identifiera länken Mobile Testing på webbsidan.

Steg 4) Använda egenskapsfilen i testskript

Egenskapsfilen kan användas i testskript genom att läsa data från en egenskapsfil och skicka data som en parameter till findElement-metoden. Nedanstående kod visar användningen av data som läses från egenskapsfilen i testskript.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). klicka ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys ("Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). klicka (); 

Nedan är den kompletta koden som används för ovanstående testscenario.

paket com.objectrepository.demo;importera java.io.FileInputStream;importera java.io.FileNotFoundException;importera java.io.IOException;importera java.util.Properties;importera org.openqa.selenium.By;importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.chrome.ChromeDriver;offentlig klass DemoOR {public static void main (String [] args) kastar IOException {// Skapa WebDriver-instansWebDriver-drivrutin;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");drivrutin = ny ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). fönster (). maximera ();// Ladda egenskaperna FileEgenskaper obj = nya egenskaper ();FileInputStream objfile = ny FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Nagigate för att länka mobil testning och tillbakadriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). klicka ();driver.navigate (). tillbaka ();// Ange data i formuläretdriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys ("Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). klicka ();}}

Selenium WebDriver Object Repository med XML-fil

XML står för Extensible Markup Language. En XML-fil använder Document Object Model (DOM) som grundstruktur. XML-filformat kommer att replikera HTML-formatet som webbsidan bygger på. Nedan är listan över ämnen som kommer att behandlas.

  • Skapa en XML-fil i förmörkelse
  • Lagring av data i XML-fil
  • Läser data från XML-fil
  • Använda XML-fil i testskript

Steg 1) Skapa en XML-fil i förmörkelse

  1. Nedanstående Java-projektstruktur måste skapas i Eclipse.

  1. Högerklicka på projektmappen, välj Ny -> Annat

  1. Välj XML-filen i XML-mappen och klicka på "Nästa" -knappen

  1. Ange ett giltigt XML-filnamn och klicka på "Slutför" -knappen

  1. En XML-fil läggs till i projektmappen enligt nedan

Steg 2) Lagring av data i XML-fil

Data kan lagras i XML-fil i form av DOM (Document Object Model). För enkelhets skull kan vi använda testscenariot nedan som ett exempel.

  • Klicka på länken Mobile Testing med hjälp av XPATH
  • Navigera tillbaka till startsidan
  • Ange data i e-posttextrutan med ID
  • Klicka på knappen Registrera med ID

Nedan visas formatet på XML-filen som ska användas.

 // a [text () = 'MOBILTESTING']  philadelphia-field-email  philadelphia-field-submit 

Lagra XML-koden ovan i properties.xml

På designfliken ser du

Steg 3) Läsa data från XML-fil

1. Läsning av data från XML-fil kan göras med hjälp av den inbyggda klassen dom4j i java. Observera att du måste lägga till JAR-filerna nedan i projektets byggväg innan du fortsätter med koden.

  • jaxen.jar
  • dom4j-1.6.jar

2. Nedan följer koden för att läsa data från XML-filen.

File inputFile = ny fil (System.getProperty ("user.dir") + "\\ egenskaper.xml");SAXReader saxReader = ny SAXReader ();Dokumentdokument = saxReader.read (inputFile);Sträng mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Sträng emailTextBox = document.selectSingleNode ("// meny / e-post"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();

3. Inledningsvis måste vi skapa ett filobjekt och skicka det som en parameter till "läs" -metoden i SAXReader-klassen. När XML-fildata har lästs framgångsrikt kan vi komma åt enskilda noder i XML-dokument med 'selectSingleNode' -metoden.

Steg 4) Använda XML-fil i testskript

XML-fil kan användas i testskript genom att läsa data från XML-fil och skicka data som parameter till findElement-metoden. Nedanstående kod visar användningen av data som läses från XML-fil i testskript.

driver.findElement (By.xpath (mobileTesting)). klicka ();driver.findElement (By.id (emailTextBox)). sendKeys ("Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att visa den.");driver.findElement (By.id (signUpButton)). klicka ();

Koden nedan visar användningen av XML-filer i selen WebDriver

paket com.objectrepository.demo;importera java.io. *;importera java.util. *;importera org.dom4j. *;importera org.dom4j.io.SAXReader;importera org.openqa.selenium.By;importera org.openqa.selenium.WebDriver;importera org.openqa.selenium.chrome.ChromeDriver;offentlig klass DemoORXML {public static void main (String [] args) kastar DocumentException {// Skapa WebDriver-instansWebDriver-drivrutin;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");drivrutin = ny ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). fönster (). maximera ();// Läser XML-filFile inputFile = ny fil (System.getProperty ("user.dir") + "\\ egenskaper.xml");SAXReader saxReader = ny SAXReader ();Dokumentdokument = saxReader.read (inputFile);Sträng mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Sträng emailTextBox = document.selectSingleNode ("// meny / e-post"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Navigera till mobil testning och tillbakadriver.findElement (By.xpath (mobileTesting)). klicka ();driver.navigate (). tillbaka ();// Ange formulärdatadriver.findElement (By.id (emailTextBox)). sendKeys ("Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att visa den.");driver.findElement (By.id (signUpButton)). klicka ();}}

Ladda ner WebDriver Eclipse Project

Sammanfattning:

  • Ett objektförvar är en vanlig lagringsplats för alla objekt
  • Selen WebDriver erbjuder inte ett inbyggt objektförvar som standard
  • Du kan skapa två typer av objektförvar i Selen
    1. Objektförvar med egenskaper-filen
    2. Objektförvar med XML-fil
  • Egenskapsfilen är en textfil där data lagras i form av nyckel-värdepar
  • XML-filformat kommer att replikera HTML-formatet som webbsidan bygger på.