Vytváranie archívov objektov v selenovom WebDriveri: XML & Súbor vlastností

Obsah:

Anonim

Čo je úložisko objektov?

Úložisko objektov je spoločné úložné miesto pre všetky objekty. V kontexte Selenium WebDriver by objektmi boli zvyčajne lokátory používané na jedinečnú identifikáciu webových prvkov.

Hlavnou výhodou použitia úložiska objektov je segregácia objektov od testovacích prípadov. Ak sa zmení lokátorová hodnota jedného webového prvku, je potrebné zmeniť iba úložisko objektov, a nie vykonávať zmeny vo všetkých testovacích prípadoch, v ktorých sa lokátor používal. Údržba úložiska objektov zvyšuje modularitu implementácie rámca.

V tomto návode sa naučíte

  • Čo je úložisko objektov?
  • Typy úložísk objektov v selenovom webovom ovládači
  • Úložisko objektov selenového webového ovládača pomocou súboru Vlastnosti
  • Úložisko objektov selénu WebDriver pomocou súboru XML

Typy úložísk objektov v selenovom webovom ovládači

Selenium WebDriver štandardne neponúka úložisko zabudovaných objektov. Úložiská objektov však možno vytvoriť pomocou prístupu páru kľúč - hodnota, pričom kľúč odkazuje na názov daný objektu a hodnota odkazuje na vlastnosti použité na jednoznačnú identifikáciu objektu na webovej stránke.

Nasledujú typy úložísk objektov, ktoré je možné vytvoriť v selenickom webovom ovládači.

  1. Repozitár objektov pomocou súboru Vlastnosti
  2. Objektové úložisko pomocou XML súboru

Úložisko objektov selenového webového ovládača pomocou súboru Vlastnosti

V tomto prístupe je súbor vlastností textový súbor, v ktorom sú údaje uložené vo forme párov kľúč - hodnota. Nasledujúci tutoriál sa bude venovať nasledujúcim témam.

  • Vytváranie súboru vlastností v zatmení
  • Ukladanie údajov do súboru vlastností
  • Čítanie údajov zo súboru vlastností
  • Použitie súboru vlastností v testovacích skriptoch

Krok 1) Vytvorenie súboru vlastností v zatmení

  1. Na začiatok je potrebné vytvoriť nasledujúcu štruktúru java projektu v zatmení. Názov projektu a názov balíka môžu byť akékoľvek platné názvy.

  1. Pravým tlačidlom myši kliknite na hlavný priečinok projektu a vyberte príkaz Nový-> Iné

  1. V ďalšom okne vyberte Všeobecné -> Súbor a kliknite na tlačidlo „Ďalej“

  1. V okne nového súboru zadajte platný názov súboru s príponou „.properties“ a kliknite na tlačidlo „Dokončiť“.

  1. V štruktúre projektu musí byť zobrazený súbor s názvom „application.properties“

Krok 2) Uloženie údajov do súboru vlastností

  1. Údaje sú uložené v súbore vlastností vo forme párov kľúč - hodnota, pričom kľúč je v celom súbore jedinečný.
  2. Pokúsime sa pomocou súboru vlastností identifikovať webové prvky pomocou hodnôt lokátora.
  3. Otvorte súbor application.properties v Eclipse a uložte nasledujúce údaje
MobileTesting = // a [text () = 'MOBILNÉ TESTOVANIE']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-field-submit

4) Pre tento tutoriál sa používa nasledujúci ukážkový web: http://demo.guru99.com/test/guru99home/. Tu je testovací scenár:

  • Kliknite na odkaz Mobilné testovanie pomocou protokolu XPATH
  • Navigovať späť
  • Zadajte údaje do e-mailovej schránky pomocou identifikátora
  • Kliknite na tlačidlo Registrovať pomocou ID

Krok 3) Čítanie údajov zo súboru vlastností

  1. Čítanie údajov zo súboru vlastností je možné vykonať pomocou zabudovanej triedy Vlastnosti poskytnutej v balíku java.util.
  2. Spočiatku je potrebné vytvoriť objekt triedy Vlastnosti, ako je uvedené nižšie
 Vlastnosti obj = nové Vlastnosti (); 
  1. Musíme vytvoriť objekt triedy FileInputStream s cestou k súboru vlastností
FileInputStream objfile = nový FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Čítanie údajov zo súboru vlastností je možné vykonať pomocou metódy načítania ponúkanej triedou Vlastnosti v jave. Nasledujúci kód demonštruje použitie metódy načítania.
Vlastnosti obj = nové Vlastnosti ();FileInputStream objfile = nový FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);Reťazec mobileTesting = obj.getProperty ("MobileTesting");

Reťazec „mobileTesting“ bude obsahovať kód XPATH na identifikáciu odkazu na testovanie mobilných zariadení na webovej stránke.

Krok 4) Použitie súboru vlastností v testovacích skriptoch

Súbor vlastností je možné použiť v testovacích skriptoch načítaním údajov zo súboru vlastností a odovzdaním údajov ako parametra metóde findElement. Nasledujúci kód demonštruje použitie údajov načítaných zo súboru vlastností v testovacích skriptoch.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). click (); 

Ďalej je uvedený úplný kód použitý pre vyššie uvedený testovací scenár.

balíček 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;verejná trieda, ukážka {public static void main (String [] args) vyvolá IOException {// Vytvorenie inštancie WebDriverOvládač WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");ovládač = nový ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Načíta súbor vlastnostíVlastnosti obj = nové Vlastnosti ();FileInputStream objfile = nový FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Prepojte prepojenie mobilného testovania a späťdriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.navigate (). späť ();// Zadajte údaje do formuláradriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). click ();}}

Úložisko objektov selénu WebDriver pomocou súboru XML

XML znamená Extensible Markup Language. Súbor XML používa ako základnú štruktúru DOM (Document Object Model). Formát súboru XML bude replikovať formát HTML, na ktorom je vytvorená webová stránka. Nižšie je uvedený zoznam tém, ktorým sa bude venovať táto téma.

  • Vytváranie súboru XML v zatmení
  • Ukladanie údajov do súboru XML
  • Čítanie údajov zo súboru XML
  • Použitie súboru XML v testovacích skriptoch

Krok 1) Vytvorenie súboru XML v zatmení

  1. Nižšie je potrebné vytvoriť štruktúru projektu java v Eclipse.

  1. Pravým tlačidlom myši kliknite na priečinok projektu, vyberte položku Nový -> Iné

  1. Vyberte súbor XML v priečinku XML a kliknite na tlačidlo „Ďalej“

  1. Zadajte platný názov súboru XML a kliknite na tlačidlo „Dokončiť“

  1. Ako je uvedené nižšie, do priečinka projektu sa pridá súbor XML

Krok 2) Ukladanie údajov do súboru XML

Dáta môžu byť uložené v súbore XML vo forme Document Object Model (DOM). Pre zjednodušenie môžeme ako príklad použiť nižšie uvedený testovací scenár.

  • Kliknite na odkaz Mobilné testovanie pomocou protokolu XPATH
  • Prejdite späť na domovskú stránku
  • Zadajte údaje do e-mailovej schránky pomocou identifikátora
  • Kliknite na tlačidlo Registrovať pomocou ID

Nižšie je uvedený formát súboru XML, ktorý sa má použiť.

 // a [text () = 'MOBILNÉ TESTOVANIE']  e-mail philadelphia-field  philadelphia-field-submit 

Uložte vyššie uvedený kód XML do súboru properties.xml

Na karte dizajn uvidíte

Krok 3) Čítanie údajov zo súboru XML

1. Čítanie údajov zo súboru XML je možné vykonať pomocou vstavanej triedy „dom4j“ v jave. Pred pokračovaním v kóde je potrebné pridať nasledujúce súbory JAR do cesty zostavenia vášho projektu.

  • jaxen.jar
  • dom4j-1.6.jar

2. Nižšie je uvedený kód na načítanie údajov zo súboru XML.

File inputFile = new File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nový SAXReader ();Dokument dokument = saxReader.read (inputFile);Reťazec mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Reťazec emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();Reťazec signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();

3. Spočiatku musíme vytvoriť objekt File a odovzdať ho ako parameter metóde 'read' triedy SAXReader. Po úspešnom načítaní údajov súboru XML môžeme získať prístup k jednotlivým uzlom dokumentu XML pomocou metódy „selectSingleNode“.

Krok 4) Použitie súboru XML v testovacích skriptoch

Súbor XML je možné použiť v testovacích skriptoch načítaním údajov zo súboru XML a odovzdaním údajov ako parametra metóde findElement. Nasledujúci kód demonštruje použitie údajov načítaných zo súboru XML v testovacích skriptoch.

driver.findElement (By.xpath (mobileTesting)). click ();driver.findElement (By.id (emailTextBox)). sendKeys (" Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.");driver.findElement (By.id (signUpButton)). click ();

Nasledujúci kód demonštruje použitie súboru XML v seléne WebDriver

balíček 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;verejná trieda DemoORXML {public static void main (String [] args) hodí DocumentException {// Vytvorenie inštancie WebDriverOvládač WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");ovládač = nový ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Čítanie XML súboruFile inputFile = new File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nový SAXReader ();Dokument dokument = saxReader.read (inputFile);Reťazec mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Reťazec emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();Reťazec signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Navigácia na Mobilné testovanie a späťdriver.findElement (By.xpath (mobileTesting)). click ();driver.navigate (). späť ();// Zadávanie údajov formuláradriver.findElement (By.id (emailTextBox)). sendKeys (" Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.");driver.findElement (By.id (signUpButton)). click ();}}

Stiahnite si projekt WebDriver Eclipse

Zhrnutie:

  • Úložisko objektov je spoločné úložné miesto pre všetky objekty
  • Selenium WebDriver štandardne neponúka úložisko zabudovaných objektov
  • V seléne môžete vytvoriť 2 typy úložiska objektov
    1. Repozitár objektov pomocou súboru Vlastnosti
    2. Objektové úložisko pomocou XML súboru
  • Súbor vlastností je textový súbor, v ktorom sú údaje uložené vo forme párov kľúč - hodnota
  • Formát súboru XML bude replikovať formát HTML, na ktorom je vytvorená webová stránka.