Objektivarasto sisään Selenium (XML- ja ominaisuustiedosto)

Mikä on objektivarasto?

Objektivarasto on yhteinen tallennuspaikka kaikille objekteille. Sisään Selenium WebDriver-kontekstissa objektit olisivat tyypillisesti paikannijoita, joita käytetään verkkoelementtien yksilölliseen tunnistamiseen.

Objektivaraston käytön suurin etu on objektien erottaminen testitapauksista. Jos yhden verkkoelementin paikannusarvo muuttuu, vain objektivarastoa on muutettava sen sijaan, että tehdään muutoksia kaikissa testitapauksissa, joissa paikanninta on käytetty. Objektivaraston ylläpito lisää kehyksen toteutuksen modulaarisuutta.

Objektivarastojen tyypit Selenium Web-ohjain

Selenium WebDriver ei tarjoa oletusarvoisesti sisäänrakennettua objektivarastoa. Objektivarastoja voidaan kuitenkin rakentaa käyttämällä avainarvo-parilähestymistapaa, jossa avain viittaa objektille annettuun nimeen ja arvo viittaa ominaisuuksiin, joita käytetään objektin yksilöimiseen web-sivulla.

Seuraavat ovat objektivarastojen tyypit, joihin voidaan luoda Selenium WebDriver.

  1. Objektivarasto Properties-tiedoston avulla
  2. Objektivarasto XML-tiedoston avulla

Selenium Web Driver -objektivarasto Properties-tiedoston avulla

Tässä lähestymistavassa ominaisuustiedosto on tekstitiedosto, johon tiedot on tallennettu avain-arvo-parien muodossa. Alla oleva opetusohjelma käsittelee seuraavia aiheita.

Vaihe 1) Ominaisuustiedoston luominen eclipsessä

  1. Aluksi alla oleva java-projektirakenne on luotava eclipsessa. Projektin nimi ja paketin nimi voivat olla mitä tahansa kelvollisia nimiä.

Ominaisuudet-tiedoston luominen Eclipse

  1. Napsauta hiiren kakkospainikkeella pääprojektin kansiota ja valitse Uusi-> Muu

Ominaisuudet-tiedoston luominen Eclipse

  1. Valitse seuraavassa ikkunassa Yleiset -> Tiedosto ja napsauta 'Seuraava'-painiketta

Ominaisuudet-tiedoston luominen Eclipse

  1. Anna kelvollinen tiedostonimi, jonka tunniste on ".properties" uudessa tiedostoresurssiikkunassa ja napsauta "Valmis"-painiketta.

Ominaisuudet-tiedoston luominen Eclipse

  1. Project Structuressa on näytettävä tiedosto nimeltä "application.properties".

Ominaisuudet-tiedoston luominen Eclipse

Vaihe 2) Tietojen tallentaminen ominaisuustiedostoon

  1. Tiedot tallennetaan ominaisuustiedostoon avain-arvo-parien muodossa, jolloin avain on ainutlaatuinen koko tiedostossa.
  2. Yritämme käyttää ominaisuustiedostoa verkkoelementtien tunnistamiseen paikannusarvojen avulla.
  3. Avaa application.properties-tiedosto Eclipse ja tallenna seuraavat tiedot
MobileTesting=//a[text()='MOBILE TESTING']
EmailTextBox = philadelphia-field-email
SignUpButton = philadelphia-field-submit

Tietojen tallentaminen ominaisuustiedostoon

4) Tätä opetusohjelmaa varten käytetään seuraavaa esittelysivustoa:

https://demo.guru99.com/test/guru99home/. Tässä testiskenaario:

  • Napsauta Mobile Testing -linkkiä XPATH:n avulla
  • Navigoi takaisin
  • Syötä tiedot sähköpostin tekstilaatikkoon ID:llä
  • Napsauta Rekisteröidy-painiketta tunnuksella

Vaihe 3) Tietojen lukeminen ominaisuustiedostosta

  1. Tietojen lukeminen ominaisuustiedostosta voidaan tehdä käyttämällä java.util-paketin sisäänrakennettua Properties-luokkaa.
  2. Aluksi Properties-luokan objekti on luotava alla kuvatulla tavalla
  Properties obj = new Properties();
  1. Meidän on luotava FileInputStream-luokan objekti polkulla ominaisuustiedostoon
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
  1. Tietojen lukeminen ominaisuustiedostosta voidaan tehdä javassa Properties-luokan tarjoamalla latausmenetelmällä. Alla oleva koodi osoittaa latausmenetelmän käytön.
Properties obj = new Properties();
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
obj.load(objfile);
String mobileTesting = obj.getProperty("MobileTesting");

Merkkijono "mobileTesting" sisältää XPATH:n, joka tunnistaa mobiilitestauslinkin verkkosivulla.

Vaihe 4) Ominaisuustiedoston käyttäminen testiskripteissä

Properties-tiedostoa voidaan käyttää testiskripteissä lukemalla tietoja ominaisuustiedostosta ja välittämällä tiedot parametrina findElement-menetelmälle. Alla oleva koodi havainnollistaa ominaisuustiedostosta luettujen tietojen käyttöä testiskripteissä.

driver.findElement(By.xpath(obj.getProperty("MobileTesting"))).click();
driver.findElement(By.id(obj.getProperty("EmailTextBox"))).sendKeys("testguru99@gmail.com");								
driver.findElement(By.id(obj.getProperty("SignUpButton"))).click();

Alla on täydellinen koodi, jota käytetään yllä olevaan testiskenaarioon.

package 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;		

public class DemoOR {				

public static void main(String[] args) throws IOException {										
	
// Create WebDriver Instance		
    WebDriver driver;			
    System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");					
    driver = new ChromeDriver();					
    driver.get("https://demo.guru99.com/test/guru99home/");					
    driver.manage().window().maximize();			
// Load the properties File		
    Properties obj = new Properties();					
    FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");									
    obj.load(objfile);					
// Nagigate to link Mobile Testing and Back		
    driver.findElement(By.xpath(obj.getProperty("MobileTesting"))).click();							
    driver.navigate().back();			
// Enter Data into Form		
    driver.findElement(By.id(obj.getProperty("EmailTextBox"))).sendKeys("testguru99@gmail.com");									
    driver.findElement(By.id(obj.getProperty("SignUpButton"))).click();							
  }		

}		

Selenium WebDriver-objektivarasto XML-tiedoston avulla

XML on lyhenne sanoista Extensible Markup Language. XML-tiedosto käyttää Document Object Model (DOM) -rakennetta perusrakenteena. XML-tiedostomuoto replikoi HTML-muodon, jonka perusteella verkkosivu on rakennettu. Alla on luettelo aiheista, joita käsitellään.

Vaihe 1) XML-tiedoston luominen eclipsessa

  1. Alla oleva java-projektirakenne on luotava sisään Eclipse.

Luodaan XML-tiedosto sisään Eclipse

  1. Napsauta projektikansiota hiiren kakkospainikkeella ja valitse Uusi -> Muu

Luodaan XML-tiedosto sisään Eclipse

  1. Valitse XML-tiedosto XML-kansiosta ja napsauta 'Seuraava'-painiketta

Luodaan XML-tiedosto sisään Eclipse

  1. Anna kelvollinen XML-tiedoston nimi ja napsauta Valmis-painiketta

Luodaan XML-tiedosto sisään Eclipse

  1. XML-tiedosto lisätään projektikansioon alla olevan kuvan mukaisesti

Luodaan XML-tiedosto sisään Eclipse

Vaihe 2) Tietojen tallentaminen XML-tiedostoon

Tiedot voidaan tallentaa XML-tiedostoon Document Object Model (DOM) -muodossa. Yksinkertaisuuden vuoksi voimme käyttää esimerkkinä alla olevaa testiskenaariota.

  • Napsauta Mobile Testing -linkkiä XPATH:n avulla
  • Navigoi Takaisin etusivulle
  • Syötä tiedot sähköpostin tekstilaatikkoon ID:llä
  • Napsauta Rekisteröidy-painiketta tunnuksella

Alla on käytettävä XML-tiedoston muoto.

<menu>     
      <mobiletesting>//a[text()='MOBILE TESTING']</mobiletesting>  
      <email> philadelphia-field-email</email> 
      <signup> philadelphia-field-submit </signup>     
 </menu>

Tallenna yllä oleva XML-koodi property.xml-tiedostoon

Tietojen tallentaminen XML-tiedostoon

Suunnittelu-välilehdellä näet

Tietojen tallentaminen XML-tiedostoon

Vaihe 3) Tietojen lukeminen XML-tiedostosta

1. Tietojen lukeminen XML-tiedostosta voidaan suorittaa käyttämällä sisäänrakennettua 'dom4j'-luokkaa javassa. Huomaa, että sinun on lisättävä alla olevat JAR-tiedostot projektisi rakennuspolkuun ennen koodin jatkamista.

  • jaxen.jar
  • dom4j-1.6.jar

2. Alla on koodi tietojen lukemiseen XML-tiedostosta.

		File inputFile = new File(System.getProperty("user.dir") +"\\properties.xml");
        SAXReader saxReader = new SAXReader();
        Document document = 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. Aluksi meidän on luotava File-objekti ja välitettävä se parametrina SAXReader-luokan 'read'-metodille. Kun XML-tiedoston tiedot on luettu onnistuneesti, voimme käyttää XML-dokumentin yksittäisiä solmuja käyttämällä 'selectSingleNode' -menetelmää.

Vaihe 4) XML-tiedoston käyttäminen testiskripteissä

XML-tiedostoa voidaan käyttää testiskripteissä lukemalla tiedot XML-tiedostosta ja välittämällä tiedot parametrina findElement-metodille. Alla oleva koodi esittelee XML-tiedostosta luetun tiedon käyttöä testiskripteissä.

driver.findElement(By.xpath(mobileTesting)).click();
driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com");
driver.findElement(By.id(signUpButton)).click();

Alla oleva koodi näyttää XML-tiedoston käytön seleeni WebDriverissa

package 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;		

public class DemoORXML {				

public static void main(String[] args) throws DocumentException {										
// Creating WebDriver Instance		
    WebDriver driver;			
    System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe");					
    driver = new ChromeDriver();					
    driver.get("https://demo.guru99.com/test/guru99home/");					
    driver.manage().window().maximize();			
// Reading XML File    		
    File inputFile = new File(System.getProperty("user.dir") +"\\properties.xml");									
    SAXReader saxReader = new SAXReader();					
    Document document = saxReader.read(inputFile);							
    String mobileTesting = document.selectSingleNode("//menu/mobiletesting").getText();							
    String emailTextBox = document.selectSingleNode("//menu/email").getText();							
    String signUpButton = document.selectSingleNode("//menu/signup").getText();							

//Navigating to Mobile Testing and back		
    driver.findElement(By.xpath(mobileTesting)).click();					
    driver.navigate().back();			
//Entering Form Data		
driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com");						
driver.findElement(By.id(signUpButton)).click();				

	}		
}		

Lataa WebDriver Eclipse projekti

Yhteenveto

  • Objektivarasto on yhteinen tallennuspaikka kaikille objekteille
  • Selenium WebDriver ei tarjoa oletusarvoisesti sisäänrakennettua objektivarastoa
  • Voit luoda 2 tyyppistä objektivarastoa Selenium
    1. Objektivarasto Properties-tiedoston avulla
    2. Objektivarasto XML-tiedoston avulla
  • Ominaisuustiedosto on tekstitiedosto, johon tiedot on tallennettu avain-arvo-parien muodossa
  • XML-tiedostomuoto replikoi HTML-muodon, jonka perusteella verkkosivu on rakennettu.