Objektu krātuves izveide Selenium WebDriver: XML & Rekvizītu fails

Satura rādītājs:

Anonim

Kas ir objektu krātuve?

Objektu krātuve ir kopīga visu objektu glabāšanas vieta. Selenium WebDriver kontekstā objekti parasti būtu lokatori, kurus izmanto, lai unikāli identificētu tīmekļa elementus.

Objekta krātuves izmantošanas galvenā priekšrocība ir objektu nošķiršana no testa gadījumiem. Ja mainās viena tīmekļa elementa lokatora vērtība, ir jāmaina tikai objekta krātuve, nevis jāveic izmaiņas visos testa gadījumos, kad lokators ir izmantots. Objekta krātuves uzturēšana palielina ietvara ieviešanas modularitāti.

Šajā apmācībā jūs uzzināsiet

  • Kas ir objektu krātuve?
  • Objektu krātuvju veidi selēna tīmekļa draiverī
  • Selēna tīmekļa draivera objektu krātuve, izmantojot failu Properties
  • Selēna WebDriver objektu krātuve, izmantojot XML failu

Objektu krātuvju veidi selēna tīmekļa draiverī

Selenium WebDriver pēc noklusējuma nepiedāvā iebūvētu objektu krātuvi. Tomēr objektu krātuves var izveidot, izmantojot atslēgu un vērtību pāra pieeju, kur atslēga attiecas uz objektam piešķirto nosaukumu un vērtība attiecas uz īpašībām, kas tiek izmantotas, lai unikāli identificētu objektu tīmekļa lapā.

Tālāk ir norādīti objektu krātuvju veidi, kurus var izveidot Selenium WebDriver.

  1. Objekta krātuve, izmantojot failu Properties
  2. Objekta krātuve, izmantojot XML failu

Selēna tīmekļa draivera objektu krātuve, izmantojot failu Properties

Šajā pieejā rekvizītu fails ir teksta fails, kurā dati tiek glabāti atslēgu un vērtību pāru formā. Tālāk sniegtajā apmācībā tiks aplūkotas šādas tēmas.

  • Rekvizītu faila izveidošana aptumsumā
  • Datu glabāšana rekvizītu failā
  • Datu lasīšana no rekvizītu faila
  • Īpašumu faila izmantošana testa skriptos

1. solis. Īpašību faila izveidošana aptumsumā

  1. Lai sāktu, zemāk esošā Java projekta struktūra ir jāizveido aptumsumā. Projekta nosaukums un paketes nosaukums var būt jebkurš derīgs nosaukums.

  1. Ar peles labo pogu noklikšķiniet uz galvenās projekta mapes un atlasiet Jauns-> Cits

  1. Nākamajā logā atlasiet Vispārīgi -> Fails un noklikšķiniet uz pogas Nākamais

  1. Jaunajā faila resursu logā norādiet derīgu faila nosaukumu ar paplašinājumu ".properties" un noklikšķiniet uz pogas Pabeigt

  1. Projekta struktūrā ir jāparāda fails ar nosaukumu “application.properties”

2. solis. Datu glabāšana rekvizītu failā

  1. Dati tiek saglabāti rekvizītu failā atslēgu un vērtību pāru veidā, un atslēga failā ir unikāla.
  2. Mēs centīsimies izmantot rekvizītu failu, lai identificētu tīmekļa elementus, izmantojot lokatora vērtības.
  3. Programmā Eclipse atveriet failu application.properties un saglabājiet šādus datus
MobileTesting = // a [text () = 'MOBILĀ PĀRBAUDE']EmailTextBox = philadelphia-field-emailSignUpButton = filadelfijas lauks-iesniegšana

4) Šajā apmācībā tiek izmantota šāda demonstrācijas vietne: http://demo.guru99.com/test/guru99home/. Šeit ir testa scenārijs:

  • Noklikšķiniet uz saites Mobile Testing, izmantojot XPATH
  • Pārvietojieties atpakaļ
  • Ievadiet datus e-pasta tekstlodziņā, izmantojot ID
  • Noklikšķiniet uz pogas Reģistrēties, izmantojot ID

3. solis. Datu lasīšana no rekvizītu faila

  1. Datu lasīšanu no rekvizītu faila var veikt, izmantojot iebūvēto Properties klasi, kas paredzēta paketē java.util.
  2. Sākotnēji ir jāveido klases Properties objekts, kā norādīts zemāk
 Rekvizīti obj = new Properties (); 
  1. Mums jāizveido FileInputStream klases objekts ar ceļu uz rekvizītu failu
FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Datu lasīšanu no rekvizītu faila var veikt, izmantojot ielādes metodi, ko piedāvā java Properties klase. Zemāk redzamais kods parāda ielādes metodes izmantošanu.
Rekvizīti obj = new Properties ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);String mobileTesting = obj.getProperty ("MobileTesting");

Virkne “mobileTesting” satur XPATH, lai identificētu saiti mobilajām ierīcēm tīmekļa vietnē.

4. solis. Īpašumu faila izmantošana testa skriptos

Rekvizītu failu var izmantot testa skriptos, nolasot datus no rekvizītu faila un nododot datus kā parametru metodei findElement. Zemāk redzamais kods parāda, kā testa skriptos tiek izmantoti dati, kas nolasīti no rekvizītu faila.

driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). Noklikšķiniet ();driver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" Šī e-pasta adrese ir aizsargāta pret mēstuļošanu (spam), Jūsu pārlūkam ir jābūt aktivizētam Javascript, lai to aplūkotu.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). noklikšķiniet (); 

Tālāk ir pilns kods, kas izmantots iepriekšminētajā testa scenārijā.

pakete com.objectrepository.demo;importēt java.io.FileInputStream;importēt java.io.FileNotFoundException;importēt java.io.IOException;importēt java.util.Īpašības;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;publiskā klase DemoOR {public static void main (String [] args) met IOException {// Izveidot WebDriver instanciWebDriver draiveris;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");draiveris = jauns ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");draiveris.pārvaldīt (). logs (). maksimizēt ();// Ielādējiet rekvizītu failuRekvizīti obj = new Properties ();FileInputStream objfile = new FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Novirziet, lai saistītu mobilo testēšanu un atpakaļdriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). Noklikšķiniet ();draiveris.navigate (). back ();// Ievadiet datus veidlapādriver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" Šī e-pasta adrese ir aizsargāta pret mēstuļošanu (spam), Jūsu pārlūkam ir jābūt aktivizētam Javascript, lai to aplūkotu.");driver.findElement (By.id (obj.getProperty ("SignUpButton")))). noklikšķiniet ();}}

Selēna WebDriver objektu krātuve, izmantojot XML failu

XML nozīmē paplašināmo iezīmēšanas valodu. XML fails kā pamatstruktūru izmanto dokumenta objekta modeli (DOM). XML faila formāts atkārto HTML formātu, uz kura tiek veidota vietne. Zemāk ir apskatīts tēmu saraksts.

  • XML faila izveidošana aptumsumā
  • Datu glabāšana XML failā
  • Datu lasīšana no XML faila
  • XML faila izmantošana testa skriptos

1. solis) XML faila izveidošana aptumsumā

  1. Eclipse ir jāizveido zemāk esošā java projekta struktūra.

  1. Ar peles labo pogu noklikšķiniet uz projekta mapes, atlasiet Jauns -> Cits

  1. XML mapē atlasiet XML failu un noklikšķiniet uz pogas Nākamais

  1. Ievadiet derīgu XML faila nosaukumu un noklikšķiniet uz pogas Pabeigt

  1. XML fails tiks pievienots projekta mapei, kā parādīts zemāk

2. solis) Datu glabāšana XML failā

Datus var saglabāt XML failā dokumenta objekta modeļa (DOM) formā. Vienkāršības labad mēs kā piemēru varam izmantot zemāk esošo testa scenāriju.

  • Noklikšķiniet uz saites Mobile Testing, izmantojot XPATH
  • Pārejiet uz sadaļu Atpakaļ uz sākumlapu
  • Ievadiet datus e-pasta tekstlodziņā, izmantojot ID
  • Noklikšķiniet uz pogas Reģistrēties, izmantojot ID

Zemāk ir izmantojamā XML faila formāts.

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

Glabājiet iepriekš minēto XML kodu vietnē properties.xml

Dizaina cilnē jūs redzēsiet

3. solis) Datu lasīšana no XML faila

1. Datu lasīšanu no XML faila var veikt, izmantojot Java iebūvēto 'dom4j' klasi. Lūdzu, ņemiet vērā, ka pirms koda turpināšanas jums jāpievieno zemāk redzamie JAR faili projekta būvniecības ceļā.

  • jaxen.jar
  • dom4j-1.6.jar

2. Zemāk ir kods, lai nolasītu datus no XML faila.

File inputFile = new File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = jauns SAXReader ();Dokumenta dokuments = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();

3. Sākotnēji mums ir jāizveido objekts File un jānodod tas kā parametrs klases “lasīt” metodei SAXReader. Kad XML faila dati ir veiksmīgi nolasīti, mēs varam piekļūt atsevišķiem XML dokumenta mezgliem, izmantojot metodi 'selectSingleNode'.

4. solis) XML faila izmantošana testa skriptos

XML failu var izmantot testa skriptos, nolasot datus no XML faila un nododot datus kā parametru metodei findElement. Zemāk redzamais kods parāda XML failā nolasīto datu izmantošanu testa skriptos.

driver.findElement (By.xpath (mobileTesting)). noklikšķiniet ();driver.findElement (By.id (emailTextBox)). sendKeys (" Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to aplūkotu, jums jābūt aktivizētam Javascript.");driver.findElement (By.id (signUpButton)). noklikšķiniet ();

Zemāk redzamais kods parāda XML faila izmantošanu selēna WebDriver

pakete com.objectrepository.demo;importēt java.io. *;importēt java.util. *;importēt org.dom4j. *;importēt org.dom4j.io.SAXReader;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.chrome.ChromeDriver;publiskā klase DemoORXML {public static void main (String [] args) izmet DocumentException {// WebDriver instances izveideWebDriver draiveris;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");draiveris = jauns ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");draiveris.pārvaldīt (). logs (). maksimizēt ();// XML faila lasīšanaFile inputFile = new File (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = jauns SAXReader ();Dokumenta dokuments = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Virzīšanās uz mobilo testēšanu un atpakaļdriver.findElement (By.xpath (mobileTesting)). noklikšķiniet ();draiveris.navigate (). back ();// Veidlapas datu ievadīšanadriver.findElement (By.id (emailTextBox)). sendKeys (" Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to aplūkotu, jums jābūt aktivizētam Javascript.");driver.findElement (By.id (signUpButton)). noklikšķiniet ();}}

Lejupielādējiet WebDriver Eclipse projektu

Kopsavilkums:

  • Objektu krātuve ir kopīga visu objektu glabāšanas vieta
  • Selenium WebDriver pēc noklusējuma nepiedāvā iebūvētu objektu krātuvi
  • Selēnā varat izveidot 2 objektu krātuves veidus
    1. Objekta krātuve, izmantojot failu Properties
    2. Objekta krātuve, izmantojot XML failu
  • Rekvizītu fails ir teksta fails, kurā dati tiek glabāti atslēgu un vērtību pāru formā
  • XML faila formāts atkārto HTML formātu, uz kura tiek veidota vietne.