Objektų saugyklos kūrimas „Selenium WebDriver“: XML & Ypatybių failas

Turinys:

Anonim

Kas yra objektų saugykla?

Objektų saugykla yra bendra visų objektų saugojimo vieta. „Selenium WebDriver“ kontekste objektai paprastai būtų lokatoriai, naudojami unikaliai identifikuoti žiniatinklio elementus.

Pagrindinis objektų saugyklos naudojimo pranašumas yra objektų atskyrimas nuo bandymų atvejų. Jei pasikeičia vieno internetinio elemento lokatoriaus vertė, reikia keisti tik objekto saugyklą, o ne keisti visus bandymo atvejus, kai lokatorius buvo naudojamas. Prižiūrint objekto saugyklą, padidėja karkaso diegimo moduliškumas.

Šioje pamokoje sužinosite

  • Kas yra objektų saugykla?
  • Objektų saugyklų tipai „Selenium“ žiniatinklio tvarkyklėje
  • „Selen“ žiniatinklio tvarkyklės objektų saugykla naudojant failą „Ypatybės“
  • „Selenium WebDriver“ objektų saugykla naudojant XML failą

Objektų saugyklų tipai „Selenium“ žiniatinklio tvarkyklėje

Pagal numatytuosius nustatymus „Selenium WebDriver“ nesiūlo įmontuotų objektų saugyklos. Tačiau objektų saugyklos gali būti kuriamos naudojant raktų ir verčių porų metodą, kai raktas nurodo objektui suteiktą pavadinimą, o vertė - ypatybes, naudojamas unikaliam objekto identifikavimui tinklalapyje.

Toliau pateikiami objektų saugyklų tipai, kuriuos galima sukurti naudojant „Selenium WebDriver“.

  1. Objektų saugykla naudojant failą Ypatybės
  2. Objektų saugykla naudojant XML failą

„Selen“ žiniatinklio tvarkyklės objektų saugykla naudojant failą „Ypatybės“

Šiuo požiūriu ypatybių failas yra tekstinis failas, kuriame duomenys saugomi raktų ir reikšmių porų pavidalu. Žemiau esančioje mokymo programoje bus nagrinėjamos šios temos.

  • Ypatybių failo kūrimas užtemimo metu
  • Duomenų saugojimas nuosavybės faile
  • Duomenų skaitymas iš ypatybių failo
  • Ypatybių failo naudojimas bandomuosiuose scenarijuose

1 žingsnis. Sukurkite savybių failą užtemime

  1. Pirmiausia reikia užtemime sukurti žemiau pateiktą „Java“ projekto struktūrą. Projekto pavadinimas ir paketo pavadinimas gali būti bet kokie galiojantys pavadinimai.

  1. Dešiniuoju pelės mygtuku spustelėkite pagrindinį projekto aplanką ir pasirinkite Naujas-> Kitas

  1. Kitame lange pasirinkite General -> File ir spustelėkite mygtuką „Next“

  1. Naujame failo išteklių lange pateikite galiojantį failo pavadinimą su plėtiniu „.properties“ ir spustelėkite mygtuką „Baigti“.

  1. Failas pavadinimu „application.properties“ turi būti rodomas projekto struktūroje

2 žingsnis) Duomenų saugojimas nuosavybės faile

  1. Duomenys saugomi ypatybių faile raktų ir reikšmių porų pavidalu, o raktas yra unikalus visame faile.
  2. Mes bandysime naudoti ypatybių failą, kad nustatytume interneto elementus, naudojant lokatoriaus reikšmes.
  3. „Eclipse“ atidarykite failą application.properties ir išsaugokite šiuos duomenis
„MobileTesting“ = // a [text () = 'MOBILIEJI TESTAVIMAI]]EmailTextBox = philadelphia-field-email„SignUpButton“ = filadelfijos laukas-pateikimas

4) Šiai pamokai naudojama ši demonstracinė svetainė: http://demo.guru99.com/test/guru99home/. Štai bandymo scenarijus:

  • Spustelėkite nuorodą Mobilieji testai naudojant XPATH
  • Naršyti atgal
  • Įveskite duomenis į el. Pašto teksto laukelį naudodami ID
  • Spustelėkite mygtuką Prisiregistruoti naudodami ID

3 žingsnis) Skaitykite duomenis iš ypatybių failo

  1. Duomenis iš ypatybių failo galima nuskaityti naudojant įmontuotą „Properties“ klasę, pateiktą java.util pakete.
  2. Iš pradžių reikia sukurti „Properties“ klasės objektą, kaip nurodyta toliau
 Ypatybės obj = new Ypatybės (); 
  1. Turime sukurti „FileInputStream“ klasės objektą su keliu į ypatybių failą
FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Duomenis iš ypatybių failo galima skaityti naudojant „Java“ savybių klasės siūlomą įkėlimo metodą. Žemiau pateiktas kodas parodo apkrovos metodo naudojimą.
Ypatybės obj = new Ypatybės ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty („MobileTesting“);

Eilutėje „mobileTesting“ bus XPATH, kad būtų galima identifikuoti tinklalapio nuorodą mobiliesiems.

4 žingsnis) Naudokite ypatybių failą bandomuosiuose scenarijuose

Ypatybių failą galima naudoti bandomuosiuose scenarijuose, nuskaitant duomenis iš ypatybių failo ir perduodant duomenis kaip parametrą „findElement“ metodui. Žemiau pateiktas kodas parodo duomenų, nuskaitytų iš ypatybių failo, naudojimą bandomuosiuose scenarijuose.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). Spustelėkite ();driver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" Šis el. pašto adresas yra apsaugotas nuo šiukšlų. Jums reikia įgalinti JavaScript, kad galėtumėte jį pamatyti.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). Spustelėkite (); 

Toliau pateikiamas visas kodas, naudojamas pirmiau pateiktame bandymo scenarijuje.

paketas com.objectrepository.demo;importuoti java.io.FileInputStream;importuoti java.io.FileNotFoundException;importuoti java.io.IOException;importuoti java.util.Nuosavybės;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;viešoji klasė „DemoOR“public static void main (String [] args) meta IOException {// Sukurti „WebDriver“ egzempliorių„WebDriver“ tvarkyklė;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");tvarkyklė = naujas „ChromeDriver“ ();driver.get ("http://demo.guru99.com/test/guru99home/");vairuotojas.tvarkyti (). langas (). padidinti ();// Įkelti ypatybių failąYpatybės obj = new Ypatybės ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Nagigate susieti mobilųjį testavimą ir atgaldriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). Spustelėkite ();vairuotojas.navigate (). back ();// Įveskite duomenis į formądriver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" Šis el. pašto adresas yra apsaugotas nuo šiukšlų. Jums reikia įgalinti JavaScript, kad galėtumėte jį pamatyti.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). spustelėkite ();}}

„Selenium WebDriver“ objektų saugykla naudojant XML failą

XML reiškia Extensible Markup Language. XML failas naudoja dokumento objekto modelį (DOM) kaip pagrindinę struktūrą. XML failo formatas atkartos HTML formatą, pagal kurį sukurtas tinklalapis. Žemiau pateikiamas temų, kurios bus nagrinėjamos, sąrašas.

  • XML failo kūrimas užtemimo metu
  • Duomenų saugojimas XML faile
  • Duomenų skaitymas iš XML failo
  • XML failo naudojimas bandomuosiuose scenarijuose

1 žingsnis) XML failo sukūrimas užtemime

  1. Žemiau esančią „Java“ projekto struktūrą reikia sukurti „Eclipse“.

  1. Dešiniuoju pelės mygtuku spustelėkite projekto aplanką, pasirinkite Naujas -> Kitas

  1. Pasirinkite XML failą XML aplanke ir spustelėkite mygtuką „Kitas“

  1. Įveskite galiojantį XML failo pavadinimą ir spustelėkite mygtuką „Baigti“

  1. XML failas bus pridėtas prie projekto aplanko, kaip parodyta žemiau

2 žingsnis) Duomenų saugojimas XML faile

Duomenys gali būti saugomi XML faile dokumento objekto modelio (DOM) forma. Paprastumo sumetimais galime naudoti žemiau pateiktą bandymo scenarijų kaip pavyzdį.

  • Spustelėkite nuorodą Mobilieji testai naudojant XPATH
  • Eikite atgal į pagrindinį puslapį
  • Įveskite duomenis į el. Pašto teksto laukelį naudodami ID
  • Spustelėkite mygtuką Prisiregistruoti naudodami ID

Žemiau pateikiamas XML failo formatas, kurį reikia naudoti.

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

Išsaugokite aukščiau pateiktą XML kodą savybėse.xml

Dizaino skirtuke pamatysite

3 žingsnis) Duomenų skaitymas iš XML failo

1. Duomenis skaityti iš XML failo galima naudojant „Java“ įmontuotą „dom4j“ klasę. Atkreipkite dėmesį, kad prieš tęsdami kodą, turite pridėti toliau nurodytus JAR failus į projekto sukūrimo kelią.

  • jaxen.jar
  • dom4j-1.6.jar

2. Žemiau yra kodas, skirtas nuskaityti duomenis iš XML failo.

Failo inputFile = naujas failas (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = naujas SAXReader ();Dokumento dokumentas = saxReader.read (inputFile);Eilutė mobileTesting = document.selectSingleNode ("// meniu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// meniu / el. Paštas"). GetText ();String signUpButton = document.selectSingleNode ("// meniu / prisiregistravimas"). GetText ();

3. Iš pradžių turime sukurti „File“ objektą ir perduoti jį kaip parametrą „skaityti“ „SAXReader“ klasės metodui. Sėkmingai perskaitę XML failo duomenis, galime pasiekti atskirus XML dokumento mazgus naudodami metodą „selectSingleNode“.

4 žingsnis) XML failo naudojimas bandomuosiuose scenarijuose

XML failą galima naudoti bandomuosiuose scenarijuose, skaitant duomenis iš XML failo ir perduodant duomenis kaip parametrą „findElement“ metodui. Žemiau pateiktas kodas parodo duomenų, nuskaitytų iš XML failo, naudojimą bandomuosiuose scenarijuose.

driver.findElement (By.xpath (mobileTesting)). spustelėkite ();driver.findElement (By.id (emailTextBox)). sendKeys (" Šis el. pašto adresas yra apsaugotas nuo spam'o, jums reikia įjungti Javaskriptą, kad galėtumėte jį pamatyti.");driver.findElement (By.id (signUpButton)). spustelėkite ();

Žemiau pateiktas kodas parodo XML failo naudojimą selene „WebDriver“

paketas com.objectrepository.demo;importuoti java.io. *;importuoti java.util. *;importuoti org.dom4j. *;importuoti org.dom4j.io.SAXReader;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;viešoji klasė DemoORXML {public static void main (String [] args) meta DocumentException {// „WebDriver“ egzemplioriaus kūrimas„WebDriver“ tvarkyklė;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");tvarkyklė = naujas „ChromeDriver“ ();driver.get ("http://demo.guru99.com/test/guru99home/");vairuotojas.tvarkyti (). langas (). padidinti ();// XML failo skaitymasFailo inputFile = naujas failas (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = naujas SAXReader ();Dokumento dokumentas = saxReader.read (inputFile);Eilutė mobileTesting = document.selectSingleNode ("// meniu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// meniu / el. Paštas"). GetText ();String signUpButton = document.selectSingleNode ("// meniu / prisiregistravimas"). GetText ();// Naršymas į mobilųjį testavimą ir atgaldriver.findElement (By.xpath (mobileTesting)). spustelėkite ();vairuotojas.navigate (). back ();// Formos duomenų įvedimasdriver.findElement (By.id (emailTextBox)). sendKeys (" Šis el. pašto adresas yra apsaugotas nuo spam'o, jums reikia įjungti Javaskriptą, kad galėtumėte jį pamatyti.");driver.findElement (By.id (signUpButton)). spustelėkite ();}}

Atsisiųskite „WebDriver Eclipse“ projektą

Santrauka:

  • Objektų saugykla yra bendra visų objektų saugojimo vieta
  • Pagal numatytuosius nustatymus „Selenium WebDriver“ nesiūlo įmontuotų objektų saugyklos
  • Selene galite sukurti 2 objektų saugyklos tipus
    1. Objektų saugykla naudojant failą Ypatybės
    2. Objektų saugykla naudojant XML failą
  • Ypatybių failas yra tekstinis failas, kuriame duomenys saugomi raktų ir reikšmių porų pavidalu
  • XML failo formatas atkartos HTML formatą, pagal kurį sukurtas tinklalapis.