Vytváření úložiště objektů v selenu WebDriver: XML & Soubor vlastností

Obsah:

Anonim

Co je to úložiště objektů?

Úložiště objektů je společné úložiště pro všechny objekty. V kontextu selenového WebDriveru by objekty byly obvykle lokátory používané k jedinečné identifikaci webových prvků.

Hlavní výhodou používání úložiště objektů je segregace objektů z testovacích případů. Pokud se změní hodnota lokátoru jednoho webového prvku, je třeba změnit pouze úložiště objektů, nikoli provádět změny ve všech testovacích případech, ve kterých byl lokátor použit. Údržba úložiště objektů zvyšuje modularitu implementace rámce.

V tomto výukovém programu se naučíte

  • Co je to úložiště objektů?
  • Typy úložišť objektů ve webovém ovladači selenu
  • Úložiště objektů selenového webového ovladače pomocí souboru Vlastnosti
  • Úložiště objektů selenu WebDriver pomocí souboru XML

Typy úložišť objektů ve webovém ovladači selenu

Selenium WebDriver ve výchozím nastavení nenabízí vestavěné úložiště objektů. Úložiště objektů však lze vytvořit pomocí páru klíč – hodnota, kde klíč odkazuje na název daný objektu a hodnota odkazuje na vlastnosti používané k jedinečné identifikaci objektu na webové stránce.

Následují typy úložišť objektů, které lze vytvořit v selenovém WebDriveru.

  1. Objektové úložiště pomocí souboru Vlastnosti
  2. Objektové úložiště pomocí souboru XML

Úložiště objektů selenového webového ovladače pomocí souboru Vlastnosti

V tomto přístupu je soubor vlastností textový soubor, ve kterém jsou data uložena ve formě párů klíč – hodnota. Níže uvedený výukový program se bude zabývat následujícími tématy.

  • Vytvoření souboru vlastností v zatmění
  • Ukládání dat do souboru vlastností
  • Čtení dat ze souboru vlastností
  • Použití souboru vlastností v testovacích skriptech

Krok 1) Vytvoření souboru vlastností v zatmění

  1. Nejprve je třeba v zatmění vytvořit následující strukturu projektu java. Název projektu a název balíčku mohou být jakékoli platné názvy.

  1. Klikněte pravým tlačítkem na hlavní složku projektu a vyberte Nový-> Jiné

  1. V dalším okně vyberte Obecné -> Soubor a klikněte na tlačítko „Další“

  1. Zadejte nový název souboru s příponou „.properties“ v novém okně zdrojového souboru a klikněte na tlačítko „Dokončit“

  1. Ve struktuře projektu musí být zobrazen soubor s názvem „application.properties“

Krok 2) Ukládání dat do souboru vlastností

  1. Data jsou uložena v souboru vlastností ve formě párů klíč – hodnota, přičemž klíč je v celém souboru jedinečný.
  2. Pokusíme se použít soubor vlastností k identifikaci webových prvků pomocí hodnot lokátoru.
  3. Otevřete soubor application.properties v Eclipse a uložte následující data
MobileTesting = // a [text () = 'MOBILNÍ TESTOVÁNÍ']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-field-submit

4) Pro tento tutoriál se používá následující ukázkový web: http://demo.guru99.com/test/guru99home/. Tady je scénář testu:

  • Klikněte na odkaz Mobile Testing pomocí XPATH
  • Přejít zpět
  • Zadejte data do textového pole e-mailu pomocí ID
  • Klikněte na tlačítko Zaregistrovat se pomocí ID

Krok 3) Čtení dat ze souboru vlastností

  1. Čtení dat ze souboru vlastností lze provést pomocí vestavěné třídy Vlastnosti poskytované v balíčku java.util.
  2. Zpočátku je třeba vytvořit objekt třídy Vlastnosti, jak je uvedeno níže
 Vlastnosti obj = nové Vlastnosti (); 
  1. Musíme vytvořit objekt třídy FileInputStream s cestou k souboru vlastností
FileInputStream objfile = nový FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Čtení dat ze souboru vlastností lze provést pomocí metody načítání nabízené třídou Properties v Javě. Níže uvedený kód ukazuje použití metody načítání.
Vlastnosti obj = nové Vlastnosti ();FileInputStream objfile = nový FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);Řetězec mobileTesting = obj.getProperty ("MobileTesting");

Řetězec „mobileTesting“ bude obsahovat XPATH k identifikaci odkazu pro mobilní testování na webové stránce.

Krok 4) Použití souboru vlastností v testovacích skriptech

Soubor vlastností lze v testovacích skriptech použít načtením dat ze souboru vlastností a předáním dat jako parametru metodě findElement. Níže uvedený kód ukazuje použití dat načtených ze souboru vlastností v testovacích skriptech.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Tato e-mailová adresa je chráněna před spamboty. K jejímu zobrazení potřebujete povolen JavaScript.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). click (); 

Níže je kompletní kód použitý pro výše uvedený testovací scénář.

balíček com.objectrepository.demo;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;importovat java.util.Properties;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;veřejná třída DemoOR {public static void main (String [] args) vyvolá IOException {// Vytvoření instance WebDriverOvladač WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");driver = new ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Načtení souboru vlastnostíVlastnosti obj = nové Vlastnosti ();FileInputStream objfile = nový FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Přejít na propojení mobilního testování a zpětdriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). click ();driver.navigate (). back ();// Zadejte data do formuláředriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Tato e-mailová adresa je chráněna před spamboty. K jejímu zobrazení potřebujete povolen JavaScript.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). click ();}}

Úložiště objektů selenu WebDriver pomocí souboru XML

XML znamená Extensible Markup Language. Soubor XML používá jako základní strukturu Document Object Model (DOM). Formát souboru XML bude replikovat formát HTML, na kterém je webová stránka vytvořena. Níže je uveden seznam témat, kterým se budeme věnovat.

  • Vytváření souboru XML v zatmění
  • Ukládání dat do souboru XML
  • Čtení dat ze souboru XML
  • Použití souboru XML v testovacích skriptech

Krok 1) Vytvoření souboru XML v zatmění

  1. Níže uvedená struktura projektu Java musí být vytvořena v Eclipse.

  1. Klikněte pravým tlačítkem na složku projektu, vyberte Nový -> Jiné

  1. Vyberte soubor XML ve složce XML a klikněte na tlačítko „Další“

  1. Zadejte platný název souboru XML a klikněte na tlačítko „Dokončit“

  1. Soubor XML bude přidán do složky projektu, jak je uvedeno níže

Krok 2) Ukládání dat do souboru XML

Data mohou být uložena v souboru XML ve formě Document Object Model (DOM). Pro zjednodušení můžeme jako příklad použít níže uvedený testovací scénář.

  • Klikněte na odkaz Mobile Testing pomocí XPATH
  • Přejděte zpět na domovskou stránku
  • Zadejte data do textového pole e-mailu pomocí ID
  • Klikněte na tlačítko Zaregistrovat se pomocí ID

Níže je uveden formát souboru XML, který se má použít.

 // a [text () = 'MOBILNÍ TESTOVÁNÍ']  e-mail philadelphia-field  philadelphia-field-submit 

Uložte výše uvedený kód XML do souboru properties.xml

Na kartě design uvidíte

Krok 3) Čtení dat ze souboru XML

1. Čtení dat ze souboru XML lze provést pomocí vestavěné třídy „dom4j“ v jazyce Java. Než budete pokračovat s kódem, musíte do buildpath vašeho projektu přidat níže uvedené soubory JAR.

  • jaxen.jar
  • dom4j-1.6.jar

2. Níže je uveden kód pro čtení dat ze souboru XML.

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

3. Zpočátku musíme vytvořit objekt File a předat jej jako parametr metodě 'read' třídy SAXReader. Jakmile jsou data souboru XML úspěšně načtena, můžeme přistupovat k jednotlivým uzlům dokumentu XML pomocí metody 'selectSingleNode'.

Krok 4) Použití souboru XML v testovacích skriptech

Soubor XML lze v testovacích skriptech použít načtením dat ze souboru XML a předáním dat jako parametru metodě findElement. Níže uvedený kód ukazuje použití dat načtených ze souboru XML v testovacích skriptech.

driver.findElement (By.xpath (mobileTesting)). click ();driver.findElement (By.id (emailTextBox)). sendKeys (" Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení potřebujete mít povolen JavaScript.");driver.findElement (By.id (signUpButton)). click ();

Níže uvedený kód demonstruje použití souboru XML v selenu WebDriver

balíček com.objectrepository.demo;importovat 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;veřejná třída DemoORXML {public static void main (String [] args) hodí DocumentException {// Vytvoření instance WebDriverOvladač WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");driver = new ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). maximize ();// Čtení souboru XMLFile inputFile = new File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = nový SAXReader ();Dokument document = saxReader.read (inputFile);Řetězec mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Řetězec emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();Řetězec signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Přechod na mobilní testování a zpětdriver.findElement (By.xpath (mobileTesting)). click ();driver.navigate (). back ();// Zadávání údajů formuláředriver.findElement (By.id (emailTextBox)). sendKeys (" Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení potřebujete mít povolen JavaScript.");driver.findElement (By.id (signUpButton)). click ();}}

Stáhněte si projekt WebDriver Eclipse

Souhrn:

  • Úložiště objektů je společné úložiště pro všechny objekty
  • Selenium WebDriver ve výchozím nastavení nenabízí vestavěné úložiště objektů
  • V selenu můžete vytvořit 2 typy úložiště objektů
    1. Objektové úložiště pomocí souboru Vlastnosti
    2. Objektové úložiště pomocí souboru XML
  • Soubor vlastností je textový soubor, ve kterém jsou data uložena ve formě párů klíč – hodnota
  • Formát souboru XML bude replikovat formát HTML, na kterém je webová stránka vytvořena.