Objektihoidla loomine Seleeni WebDriveris: XML & Atribuutide fail

Lang L: none (table-of-contents):

Anonim

Mis on objekti hoidla?

Objektide hoidla on kõigi objektide ühine hoiukoht. Selenium WebDriveri kontekstis oleksid objektid tavaliselt veebielementide kordumatuks tuvastamiseks kasutatavad lokaatorid.

Objektihoidla kasutamise peamine eelis on objektide eraldamine testjuhtumitest. Kui ühe veebielemendi lokaatori väärtus muutub, tuleb kõigis testjuhtumites, kus lokaatorit on kasutatud, muuta ainult objekti hoidlat. Objektihoidla hooldamine suurendab raamistiku rakendamise modulaarsust.

Selles õpetuses saate teada

  • Mis on objekti hoidla?
  • Objektihoidlate tüübid seleeni veebidraiveris
  • Seleeni veebidraiveri objektide hoidla, kasutades faili Atribuudid
  • Seleeni WebDriveri objekti hoidla XML-faili abil

Objektihoidlate tüübid seleeni veebidraiveris

Selenium WebDriver ei paku vaikimisi sisseehitatud objektide hoidlat. Objektihoidlaid saab siiski ehitada võtmeväärtuste paari lähenemisviisi abil, kus võti viitab objektile antud nimele ja väärtus viitab omadustele, mida kasutatakse objekti kordumatuks tuvastamiseks veebilehel.

Järgmised on objektide hoidlate tüübid, mida saab teenuses Selenium WebDriver luua.

  1. Objektide hoidla faili Atribuudid abil
  2. Objektide hoidla XML-faili abil

Seleeni veebidraiveri objektide hoidla, kasutades faili Atribuudid

Selles lähenemisviisis on omaduste fail tekstifail, kus andmed salvestatakse võtme-väärtuse paaride kujul. Allpool olevas õpetuses käsitletakse järgmisi teemasid.

  • Omaduste faili loomine varjutuses
  • Andmete salvestamine atribuutide faili
  • Andmete lugemine atribuudifailist
  • Omaduste faili kasutamine testskriptides

1. samm. Omaduste faili loomine varjutuses

  1. Alustuseks tuleb varjutuses luua järgmine java projekti struktuur. Projekti nimi ja paketi nimi võivad olla mis tahes kehtivad nimed.

  1. Paremklõpsake projekti põhikaustal ja valige Uus-> Muu

  1. Järgmises aknas valige General -> File ja klõpsake nuppu 'Next'

  1. Esitage uues failiressursi aknas kehtiv failinimi laiendiga '.properties' ja klõpsake nuppu 'Lõpeta'

  1. Projektistruktuuris tuleb kuvada fail nimega 'application.properties'

2. samm. Andmete salvestamine atribuutide faili

  1. Andmed salvestatakse atribuudifailis võtmeväärtuste paaridena, kusjuures võti on kogu failis ainulaadne.
  2. Püüame atribuudifaili abil tuvastada veebilemente lokaatori väärtuste abil.
  3. Avage Eclipse'is fail application.properties ja salvestage järgmised andmed
MobileTesting = // a [text () = 'MOBILE TESTING']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-field-submit

4) Selle õpetuse jaoks kasutatakse järgmist demo veebisaiti: http://demo.guru99.com/test/guru99home/. Siin on testi stsenaarium:

  • Klõpsake XPATH-i abil linki Mobiilne testimine
  • Navigeerige tagasi
  • Sisestage andmed e-posti tekstikasti, kasutades ID-d
  • Klõpsake nuppu Registreeru ID abil

Samm 3) Andmete lugemine atribuudifailist

  1. Andmete lugemist atribuudifailist saab kasutada java.util paketis sisalduva sisseehitatud omaduste klassi abil.
  2. Esialgu tuleb atribuudiklassi objekt luua nagu allpool
 Atribuudid obj = new Atribuudid (); 
  1. Peame looma klassi FileInputStream objekti, millel on tee omaduste faili
FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Andmete lugemine atribuutide failist saab toimida java omaduste klassi pakutava laadimismeetodi abil. Allolev kood näitab laadimismeetodi kasutamist.
Atribuudid obj = new Atribuudid ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty ("MobileTesting");

String „mobileTesting” sisaldab XPATH-i, et tuvastada veebilehel mobiilse testimise link.

4. samm. Atribuudifaili kasutamine testskriptides

Atribuutide faili saab testskriptides kasutada, lugedes atribuutide failist andmeid ja edastades andmed parameetrina meetodile findElement. Allolev kood näitab atribuutide failist loetud andmete kasutamist testskriptides.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))).. klõpsake ();driver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). klõpsake (); 

Allpool on ülaltoodud teststsenaariumi jaoks kasutatud täielik kood.

pakett com.objectrepository.demo;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Kohad;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;avalik klass DemoOR {avalik staatiline void main (String [] args) viskab IOException {// Loo WebDriveri eksemplarWebDriveri draiver;System.setProperty ("veebidraiver.chrome.driver", "G: \\ chromedriver.exe");draiver = uus ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");draiver.halda (). aken (). maksimeeri ();// Laadige atribuutide failAtribuudid obj = new Atribuudid ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Mobiilse testimise ja tagasiside linkiminedriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). klõpsake ();juht.navigeeri (). tagasi ();// Sisestage andmed vormidriver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). klõpsake ();}}

Seleeni WebDriveri objekti hoidla XML-faili abil

XML tähistab Extensible Markup Language. XML-fail kasutab põhistruktuurina dokumendi objektimudelit (DOM). XML-failivorming kopeerib HTML-vormingu, millele veebileht on koostatud. Allpool on loetelu käsitletavatest teemadest.

  • XML-faili loomine varjutuses
  • Andmete salvestamine XML-faili
  • Andmete lugemine XML-failist
  • XML-faili kasutamine testskriptides

Samm 1) XML-faili loomine varjutuses

  1. Eclipse'is tuleb luua järgmine java projekti struktuur.

  1. Paremklõpsake projekti kaustas, valige Uus -> Muu

  1. Valige XML-kaustast XML-fail ja klõpsake nuppu 'Järgmine'

  1. Sisestage kehtiv XML-faili nimi ja klõpsake nuppu 'Lõpeta'

  1. XML-fail lisatakse projekti kausta, nagu allpool näidatud

Samm 2) Andmete salvestamine XML-faili

Andmeid saab XML-failis säilitada dokumendi objektimudeli (DOM) kujul. Lihtsuse huvides võime näitena kasutada järgmist teststsenaariumi.

  • Klõpsake XPATH-i abil linki Mobiilne testimine
  • Navigeerige tagasi avalehele
  • Sisestage andmed e-posti tekstikasti, kasutades ID-d
  • Klõpsake nuppu Registreeru ID abil

Allpool on kasutatava XML-faili vorming.

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

Salvestage ülaltoodud XML-kood saidil properties.xml

Disaini vahekaardil näete

Samm 3) Andmete lugemine XML-failist

1. XML-failist andmete lugemiseks saab kasutada Java sisseehitatud klassi "dom4j". Pange tähele, et peate enne koodi jätkamist lisama allpool olevad JAR-failid oma projekti ehitusrajale.

  • jaxen.jar
  • dom4j-1.6.jar

2. Allpool on kood andmete lugemiseks XML-failist.

Fail inputFile = uus fail (System.getProperty ("kasutaja.dir") + "\\ omadused.xml");SAXReader saxReader = uus SAXReader ();Dokumendi dokument = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menüü / e-post"). GetText ();String signUpButton = document.selectSingleNode ("// menüü / registreerimine"). GetText ();

3. Esialgu peame looma objekti File ja edastama selle parameetrina klassi SAXReader 'read' meetodile. Kui XML-faili andmed on edukalt loetud, pääseme XML-dokumendi üksikutele sõlmedele juurde meetodi 'selectSingleNode' abil.

Samm 4) XML-faili kasutamine testskriptides

XML-faili saab testskriptides kasutada, lugedes andmeid XML-failist ja edastades andmed parameetrina meetodile findElement. Allolev kood näitab XML-failist loetud andmete kasutamist testskriptides.

driver.findElement (By.xpath (mobileTesting)). klõpsake ();driver.findElement (By.id (emailTextBox)). sendKeys (" See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.");driver.findElement (By.id (signUpButton)). klõpsake ();

Allolev kood näitab XML-faili kasutamist seleeni WebDriveris

pakett 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;avalik klass DemoORXML {avalik staatiline void main (String [] args) viskab DocumentException {// WebDriveri eksemplari loomineWebDriveri draiver;System.setProperty ("veebidraiver.chrome.driver", "G: \\ chromedriver.exe");draiver = uus ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");draiver.halda (). aken (). maksimeeri ();// XML-faili lugemineFail inputFile = uus fail (System.getProperty ("kasutaja.dir") + "\\ omadused.xml");SAXReader saxReader = uus SAXReader ();Dokumendi dokument = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menüü / e-post"). GetText ();String signUpButton = document.selectSingleNode ("// menüü / registreerimine"). GetText ();// Navigeerimine mobiilse testimise juurde ja tagasidriver.findElement (By.xpath (mobileTesting)). klõpsake ();juht.navigeeri (). tagasi ();// Vormi andmete sisestaminedriver.findElement (By.id (emailTextBox)). sendKeys (" See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.");driver.findElement (By.id (signUpButton)). klõpsake ();}}

Laadige alla WebDriveri Eclipse'i projekt

Kokkuvõte:

  • Objektide hoidla on kõigi objektide ühine hoiukoht
  • Selenium WebDriver ei paku vaikimisi sisseehitatud objektide hoidlat
  • Seleenis saate luua 2 tüüpi objekti hoidlat
    1. Objektide hoidla faili Atribuudid abil
    2. Objektide hoidla XML-faili abil
  • Atribuutide fail on tekstifail, kus andmed salvestatakse võtmeväärtuste paaride kujul
  • XML-failivorming kopeerib HTML-vormingu, millele veebileht on koostatud.