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.
- Objektivarasto Properties-tiedoston avulla
- 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.
- Ominaisuustiedoston luominen eclipsessa
- Tietojen tallentaminen ominaisuustiedostoon
- Luetaan tietoja ominaisuustiedostosta
- Ominaisuustiedoston käyttö testiskripteissä
Vaihe 1) Ominaisuustiedoston luominen eclipsessä
- Aluksi alla oleva java-projektirakenne on luotava eclipsessa. Projektin nimi ja paketin nimi voivat olla mitä tahansa kelvollisia nimiä.
- Napsauta hiiren kakkospainikkeella pääprojektin kansiota ja valitse Uusi-> Muu
- Valitse seuraavassa ikkunassa Yleiset -> Tiedosto ja napsauta 'Seuraava'-painiketta
- Anna kelvollinen tiedostonimi, jonka tunniste on ".properties" uudessa tiedostoresurssiikkunassa ja napsauta "Valmis"-painiketta.
- Project Structuressa on näytettävä tiedosto nimeltä "application.properties".
Vaihe 2) Tietojen tallentaminen ominaisuustiedostoon
- Tiedot tallennetaan ominaisuustiedostoon avain-arvo-parien muodossa, jolloin avain on ainutlaatuinen koko tiedostossa.
- Yritämme käyttää ominaisuustiedostoa verkkoelementtien tunnistamiseen paikannusarvojen avulla.
- Avaa application.properties-tiedosto Eclipse ja tallenna seuraavat tiedot
MobileTesting=//a[text()='MOBILE TESTING'] EmailTextBox = philadelphia-field-email SignUpButton = philadelphia-field-submit
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
- Tietojen lukeminen ominaisuustiedostosta voidaan tehdä käyttämällä java.util-paketin sisäänrakennettua Properties-luokkaa.
- Aluksi Properties-luokan objekti on luotava alla kuvatulla tavalla
Properties obj = new Properties();
- Meidän on luotava FileInputStream-luokan objekti polkulla ominaisuustiedostoon
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
- 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.
- XML-tiedoston luominen eclipsessa
- Tietojen tallentaminen XML-tiedostoon
- Tietojen lukeminen XML-tiedostosta
- XML-tiedoston käyttö testiskripteissä
Vaihe 1) XML-tiedoston luominen eclipsessa
- Alla oleva java-projektirakenne on luotava sisään Eclipse.
- Napsauta projektikansiota hiiren kakkospainikkeella ja valitse Uusi -> Muu
- Valitse XML-tiedosto XML-kansiosta ja napsauta 'Seuraava'-painiketta
- Anna kelvollinen XML-tiedoston nimi ja napsauta Valmis-painiketta
- XML-tiedosto lisätään projektikansioon alla olevan kuvan mukaisesti
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
Suunnittelu-välilehdellä näet
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
- Objektivarasto Properties-tiedoston avulla
- 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.