Crearea depozitului de obiecte în Selenium WebDriver: XML & Fișierul de proprietăți

Cuprins:

Anonim

Ce este un depozit de obiecte?

Un depozit de obiecte este o locație comună de stocare pentru toate obiectele. În contextul Selenium WebDriver, obiectele ar fi de obicei localizatoarele utilizate pentru a identifica în mod unic elementele web.

Avantajul major al utilizării depozitului de obiecte este segregarea obiectelor de cazurile de testare. Dacă valoarea localizatorului unui element web se modifică, numai depozitul de obiecte trebuie modificat, mai degrabă decât să facă modificări în toate cazurile de testare în care a fost utilizat localizatorul. Menținerea unui depozit de obiecte crește modularitatea implementării cadrului.

În acest tutorial, veți învăța-

  • Ce este un depozit de obiecte?
  • Tipuri de depozite de obiecte în Selenium Web Driver
  • Depozitul de obiecte Selenium Web Driver folosind fișierul Properties
  • Depozit de obiecte Selenium WebDriver folosind fișier XML

Tipuri de depozite de obiecte în Selenium Web Driver

Selenium WebDriver nu oferă în mod implicit un depozit de obiecte încorporat. Cu toate acestea, depozitele de obiecte pot fi construite folosind abordarea pereche cheie-valoare în care cheia se referă la numele dat obiectului și valoarea se referă la proprietățile utilizate pentru a identifica în mod unic un obiect în pagina web.

Următoarele sunt tipurile de depozite de obiecte care pot fi create în Selenium WebDriver.

  1. Depozit de obiecte folosind fișierul Properties
  2. Depozit de obiecte folosind fișier XML

Depozitul de obiecte Selenium Web Driver folosind fișierul Properties

În această abordare, fișierul de proprietăți este un fișier text în care datele sunt stocate sub formă de perechi cheie-valoare. Tutorialul de mai jos va aborda următoarele subiecte.

  • Crearea unui fișier de proprietăți în eclipsă
  • Stocarea datelor în fișierul de proprietăți
  • Citirea datelor din fișierul de proprietăți
  • Utilizarea fișierului de proprietăți în scripturile de testare

Pasul 1) Crearea unui fișier de proprietăți în eclipsă

  1. Pentru început, structura proiectului java de mai jos trebuie creată în eclipsă. Numele proiectului și numele pachetului pot fi orice nume valid.

  1. Faceți clic dreapta pe folderul principal al proiectului și selectați New-> Other

  1. În fereastra următoare, selectați General -> Fișier și faceți clic pe butonul „Următorul”

  1. Furnizați un nume de fișier valid cu extensia „.properties” în noua fereastră a resursei fișierului și faceți clic pe butonul „Finalizare”

  1. Un fișier numit „application.properties” trebuie afișat pe Structura proiectului

Pasul 2) Stocarea datelor în fișierul de proprietăți

  1. Datele sunt stocate în fișierul de proprietăți sub formă de perechi cheie-valoare, cheia fiind unică în întregul fișier.
  2. Vom încerca să folosim fișierul de proprietăți pentru a identifica elemente web folosind valori de localizare.
  3. Deschideți fișierul application.properties în Eclipse și stocați următoarele date
MobileTesting = // a [text () = 'MOBILE TESTING']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-field-submit

4) Pentru acest tutorial, este utilizat următorul site web demonstrativ: http://demo.guru99.com/test/guru99home/. Iată scenariul de testare:

  • Faceți clic pe linkul Mobile Testing folosind XPATH
  • Navigați înapoi
  • Introduceți date în căsuța de e-mail folosind ID
  • Faceți clic pe butonul Înscrieți-vă folosind ID

Pasul 3) Citirea datelor din fișierul de proprietăți

  1. Citirea datelor din fișierul de proprietăți se poate face folosind clasa de proprietăți încorporată furnizată în pachetul java.util.
  2. Inițial, un obiect din clasa Properties trebuie creat ca mai jos
 Proprietăți obj = Proprietăți noi (); 
  1. Trebuie să creăm un obiect din clasa FileInputStream cu calea către fișierul de proprietăți
FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Citirea datelor din fișierul de proprietăți se poate face folosind metoda de încărcare oferită de clasa Properties în java. Codul de mai jos demonstrează utilizarea metodei de încărcare.
Proprietăți obj = Proprietăți noi ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (obiectfile);String mobileTesting = obj.getProperty ("MobileTesting");

Șirul „MobileTesting” va conține XPATH pentru a identifica link-ul Mobile Testing din pagina web.

Pasul 4) Utilizarea fișierului de proprietăți în scripturile de testare

Fișierul de proprietăți poate fi utilizat în scripturile de testare citind date dintr-un fișier de proprietăți și trecând datele ca parametru la metoda findElement. Codul de mai jos demonstrează utilizarea datelor citite din fișierul de proprietăți în scripturile de testare.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). click (); 

Mai jos este codul complet utilizat pentru scenariul de test de mai sus.

pachet 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 main principal (String [] args) aruncă IOException {// Creați o instanță WebDriverDriver WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");driver = nou ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Încărcați fișierul cu proprietățiProprietăți obj = Proprietăți noi ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (obiectfile);// Nagigate pentru a conecta Testarea mobilă și Înapoidriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.navigate (). back ();// Introduceți datele în formulardriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). click ();}}

Depozit de obiecte Selenium WebDriver folosind fișier XML

XML înseamnă Extensible Markup Language. Un fișier XML folosește Document Object Model (DOM) ca structură de bază. Formatul fișier XML va reproduce formatul HTML pe care este construită pagina web. Mai jos este lista subiectelor care vor fi tratate.

  • Crearea unui fișier XML în eclipsă
  • Stocarea datelor în fișierul XML
  • Citirea datelor din fișierul XML
  • Utilizarea fișierului XML în scripturile de testare

Pasul 1) Crearea unui fișier XML în eclipsă

  1. Structura proiectului java de mai jos trebuie creată în Eclipse.

  1. Faceți clic dreapta pe folderul proiectului, selectați Nou -> Altele

  1. Selectați fișierul XML din folderul XML și faceți clic pe butonul „Următorul”

  1. Introduceți un nume de fișier XML valid și faceți clic pe butonul „Finalizare”

  1. Un fișier XML va fi adăugat în folderul proiectului, așa cum se arată mai jos

Pasul 2) Stocarea datelor în fișierul XML

Datele pot fi stocate în fișier XML sub formă de Document Object Model (DOM). Din motive de simplitate, putem folosi ca exemplu scenariul de testare de mai jos.

  • Faceți clic pe linkul Mobile Testing folosind XPATH
  • Navigați înapoi la pagina principală
  • Introduceți date în căsuța de e-mail folosind ID
  • Faceți clic pe butonul Înscrieți-vă folosind ID

Mai jos este formatul fișierului XML care trebuie utilizat.

 // a [text () = 'TESTARE MOBILĂ']  philadelphia-field-email  philadelphia-field-submit 

Stocați codul XML de mai sus în properties.xml

În fila de proiectare veți vedea

Pasul 3) Citirea datelor din fișierul XML

1. Citirea datelor din fișierul XML poate fi realizată folosind clasa încorporată „dom4j” din java. Vă rugăm să rețineți că trebuie să adăugați fișierele JAR de mai jos în traseul de construire al proiectului dvs. înainte de a continua cu codul.

  • jaxen.jar
  • dom4j-1.6.jar

2. Mai jos este codul pentru citirea datelor din fișierul XML.

Fișier inputFile = New File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nou SAXReader ();Document document = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// meniu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();

3. Inițial, trebuie să creăm un obiect Fișier și să-l trecem ca parametru la metoda „citit” din clasa SAXReader. Odată ce datele fișierului XML sunt citite cu succes, putem accesa noduri individuale ale documentului XML folosind metoda „selectSingleNode”.

Pasul 4) Utilizarea fișierului XML în scripturile de testare

Fișierul XML poate fi utilizat în scripturile de testare prin citirea datelor din fișierul XML și trecerea datelor ca parametru la metoda findElement. Codul de mai jos demonstrează utilizarea datelor citite din fișierul XML în scripturile de testare.

driver.findElement (By.xpath (mobileTesting)). click ();driver.findElement (By.id (emailTextBox)). sendKeys (" Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.");driver.findElement (By.id (signUpButton)). click ();

Codul de mai jos demonstrează utilizarea fișierului XML în seleniu WebDriver

pachet 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;clasă publică DemoORXML {public static main principal (String [] args) aruncă DocumentException {// Crearea instanței WebDriverDriver WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");driver = nou ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Citirea fișierului XMLFișier inputFile = New File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nou SAXReader ();Document document = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// meniu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Navigarea la Testarea mobilă și înapoidriver.findElement (By.xpath (mobileTesting)). click ();driver.navigate (). back ();// Introducerea datelor din formulardriver.findElement (By.id (emailTextBox)). sendKeys (" Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza.");driver.findElement (By.id (signUpButton)). click ();}}

Descărcați WebDriver Eclipse Project

Rezumat:

  • Un depozit de obiecte este o locație comună de stocare pentru toate obiectele
  • Selenium WebDriver nu oferă în mod implicit un depozit de obiecte încorporat
  • Puteți crea 2 tipuri de depozitare de obiecte în Selenium
    1. Depozit de obiecte folosind fișierul Properties
    2. Depozit de obiecte folosind fișier XML
  • Fișierul de proprietăți este un fișier text în care datele sunt stocate sub formă de perechi cheie-valoare
  • Formatul fișier XML va reproduce formatul HTML pe care este construită pagina web.