Mikä on objektivarasto?
Objektivarasto on yhteinen tallennuspaikka kaikille objekteille. Selenium WebDriver -kontekstissa objektit olisivat tyypillisesti paikannimia, joita käytetään yksilöimään verkkoelementit.
Objektivaraston käytön suurin etu on esineiden erottaminen testitapauksista. Jos yhden webelementin paikannusarvo muuttuu, vain objektivarasto on muutettava sen sijaan, että muutettaisiin kaikissa testitapauksissa, joissa paikanninta on käytetty. Objektivaraston ylläpito lisää kehyksen toteutuksen modulaarisuutta.
Tässä opetusohjelmassa opit-
- Mikä on objektivarasto?
- Objektivarastojen tyypit Selenium Web -ohjaimessa
- Selenium Web Driver Object -tietovarasto käyttämällä Ominaisuudet-tiedostoa
- Selenium WebDriver -objektivarasto XML-tiedostoa käyttämällä
Objektivarastojen tyypit Selenium Web -ohjaimessa
Selenium WebDriver ei tarjoa oletusarvoisesti sisäänrakennettua objektivarastoa. Objektivarastot voidaan kuitenkin rakentaa käyttämällä avain-arvo-pari -lähestymistapaa, jossa avain viittaa objektille annettuun nimeen ja arvo viittaa ominaisuuksiin, joita käytetään objektin yksilölliseen tunnistamiseen verkkosivulla.
Seuraavat ovat objektivarastotyyppejä, jotka voidaan luoda Selenium WebDriver -sovelluksessa.
- Objektivarasto käyttämällä Ominaisuudet-tiedostoa
- Objektivarasto XML-tiedostoa käyttämällä
Selenium Web Driver Object -tietovarasto käyttämällä Ominaisuudet-tiedostoa
Tässä lähestymistavassa ominaisuustiedosto on tekstitiedosto, jossa tiedot tallennetaan avain-arvo-parien muodossa. Alla oleva opetusohjelma käsittelee seuraavia aiheita.
- Ominaisuustiedoston luominen pimennyksellä
- Tietojen tallentaminen ominaisuustiedostoon
- Luetaan tietoja ominaisuustiedostosta
- Ominaisuustiedoston käyttäminen testiskripteissä
Vaihe 1) Ominaisuustiedoston luominen pimennyksellä
- Aluksi alla oleva java-projektirakenne on luotava pimennyksellä. Projektin nimi ja paketin nimi voivat olla mitä tahansa kelvollisia nimiä.
- Napsauta hiiren kakkospainikkeella projektin pääkansiota ja valitse Uusi-> Muu
- Valitse seuraavassa ikkunassa Yleiset -> Tiedosto ja napsauta Seuraava-painiketta
- Anna uudelle tiedostoresurssi-ikkunalle kelvollinen tiedostonimi, jonka tunniste on .properties ja napsauta Valmis-painiketta
- Tiedosto nimeltä application.properties on näytettävä projektirakenteessa
Vaihe 2) Tietojen tallentaminen ominaisuustiedostoon
- Tiedot tallennetaan ominaisuustiedostoon avainarvoparien muodossa, avaimen ollessa yksilöllinen koko tiedostossa.
- Yritämme käyttää ominaisuustiedostoa webelementtien tunnistamiseen paikannusarvojen avulla.
- Avaa application.properties-tiedosto Eclipsessä ja tallenna seuraavat tiedot
MobileTesting = // a [teksti () = 'MOBILE TESTING']EmailTextBox = philadelphia-field-emailSignUpButton = philadelphia-kenttä-lähetä
4) Tässä opetusohjelmassa käytetään seuraavaa esittelysivustoa: http://demo.guru99.com/test/guru99home/. Tässä on testiskenaario:
- Napsauta Mobile Testing -linkkiä XPATH: lla
- Navigoi takaisin
- Syötä tiedot sähköpostin tekstilaatikkoon tunnuksella
- Napsauta Rekisteröidy-painiketta ID-tunnuksella
Vaihe 3) Tietojen lukeminen ominaisuustiedostosta
- Tiedot voidaan lukea ominaisuustiedostosta käyttämällä java.util-paketissa olevaa sisäänrakennettua Ominaisuudet-luokkaa.
- Aluksi Ominaisuudet-luokan objekti on luotava kuten alla
Ominaisuudet obj = uudet Ominaisuudet ();
- Meidän on luotava FileInputStream-luokan objekti, jolla on polku ominaisuustiedostoon
FileInputStream objfile = uusi FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
- Tiedot voidaan lukea ominaisuustiedostosta käyttämällä java-ominaisuuden luokan tarjoamaa latausmenetelmää. Alla oleva koodi osoittaa latausmenetelmän käytön.
Ominaisuudet obj = uudet Ominaisuudet ();FileInputStream objfile = uusi FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);Merkkijono mobileTesting = obj.getProperty ("MobileTesting");
Merkkijono "mobileTesting" sisältää XPATH: n tunnistamaan mobiilitestauslinkin verkkosivulla.
Vaihe 4) Ominaisuustiedoston käyttäminen testiskripteissä
Ominaisuustiedostoa voidaan käyttää testiskripteissä lukemalla tietoja ominaisuustiedostosta ja välittämällä tiedot parametrina findElement-menetelmälle. Alla oleva koodi osoittaa ominaisuustiedostosta luettujen tietojen käytön testiskripteissä.
driver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). napsauta ();driver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset Javascriptin nähdäksesi sen.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). napsauta ();
Alla on täydellinen koodi, jota käytetään yllä olevassa testiskenaariossa.
paketti com.objectrepository.demo;tuo java.io.FileInputStream;tuo java.io.FileNotFoundException;tuo java.io.IOException;tuo java.util.Kiinteistöt;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;julkinen luokka DemoOR {public static void main (String [] args) heittää IOException {// Luo WebDriver-ilmentymäWebDriver-ohjain;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");ohjain = uusi ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");ohjain.hallinta (). ikkuna (). maksimoi ();// Lataa ominaisuudet-tiedostoOminaisuudet obj = uudet Ominaisuudet ();FileInputStream objfile = uusi FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Liitä mobiilitestaus ja Takaisin linkittämällädriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). napsauta ();kuljettaja.navigate (). back ();// Syötä tiedot lomakkeeseendriver.findElement (By.id (obj.getProperty ("EmailTextBox")))). sendKeys (" Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset Javascriptin nähdäksesi sen.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). napsauta ();}}
Selenium WebDriver -objektivarasto XML-tiedostoa käyttämällä
XML tarkoittaa Extensible Markup Language. XML-tiedosto käyttää DOM (Document Object Model) -rakennetta perusrakenteena. XML-tiedostomuoto kopioi HTML-muodon, johon verkkosivu on rakennettu. Alla on luettelo aiheista, joita käsitellään.
- XML-tiedoston luominen pimennyksellä
- Tietojen tallentaminen XML-tiedostoon
- Tietojen lukeminen XML-tiedostosta
- XML-tiedoston käyttäminen testiskripteissä
Vaihe 1) Luo XML-tiedosto Eclipse-tiedostossa
- Alla oleva Java-projektirakenne on luotava Eclipse-sovelluksessa.
- Napsauta hiiren kakkospainikkeella projektikansiota, valitse Uusi -> Muu
- Valitse XML-tiedosto XML-kansiosta ja napsauta Seuraava-painiketta
- Kirjoita 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 DOM (Document Object Model) -muodossa. Yksinkertaisuuden vuoksi voimme käyttää alla olevaa testiskenaariota esimerkkinä.
- Napsauta Mobile Testing -linkkiä XPATH: lla
- Siirry Takaisin kotisivulle
- Syötä tiedot sähköpostin tekstilaatikkoon tunnuksella
- Napsauta Rekisteröidy-painiketta ID-tunnuksella
Alla on käytettävä XML-tiedoston muoto.
// a [text () = 'MOBILE TESTING'] philadelphia-field-emailphiladelphia-field-submit
Tallenna yllä oleva XML-koodi osoitteeseen properties.xml
Suunnittelu-välilehdessä näet
Vaihe 3) Tietojen lukeminen XML-tiedostosta
1. Tietojen lukeminen XML-tiedostosta voidaan suorittaa käyttämällä Java: n sisäänrakennettua 'dom4j' -luokkaa. Huomaa, että sinun on lisättävä alla olevat JAR-tiedostot projektisi rakennuspolulle ennen kuin jatkat koodin käyttöä.
- jaxen.jar
- dom4j-1.6.jar
2. Alla on koodi tietojen lukemiseksi XML-tiedostosta.
Tiedoston inputFile = uusi tiedosto (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = uusi SAXReader ();Asiakirjaasiakirja = saxReader.read (inputFile);Merkkijono mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Merkkijono emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();Merkkijono signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();
3. Aluksi meidän on luotava File-objekti ja välitettävä se parametrina SAXReader-luokan 'read' -menetelmälle. Kun XML-tiedostotiedot on luettu onnistuneesti, voimme käyttää XML-asiakirjan yksittäisiä solmuja 'selectSingleNode' -menetelmällä.
Vaihe 4) XML-tiedoston käyttäminen testiskripteissä
XML-tiedostoa voidaan käyttää testiskripteissä lukemalla tietoja XML-tiedostosta ja välittämällä tiedot parametrina findElement-menetelmään. Seuraava koodi osoittaa XML-tiedostosta luettujen tietojen käytön testiskripteissä.
driver.findElement (By.xpath (mobileTesting)). napsauta ();driver.findElement (By.id (emailTextBox)). sendKeys (" Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset Javascriptin nähdäksesi sen.");driver.findElement (By.id (signUpButton)). napsauta ();
Seuraava koodi osoittaa XML-tiedoston käytön seleeni WebDriverissa
paketti com.objectrepository.demo;tuo java.io. *;tuo java.util. *;tuo org.dom4j. *;tuo org.dom4j.io.SAXReader;tuo org.openqa.selenium.By;tuo org.openqa.selenium.WebDriver;tuo org.openqa.selenium.chrome.ChromeDriver;julkinen luokka DemoORXML {public static void main (String [] args) heittää DocumentException {// WebDriver-ilmentymän luominenWebDriver-ohjain;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");ohjain = uusi ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");ohjain.hallinta (). ikkuna (). maksimoi ();// XML-tiedoston lukeminenTiedoston inputFile = uusi tiedosto (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = uusi SAXReader ();Asiakirjaasiakirja = saxReader.read (inputFile);Merkkijono mobileTesting = document.selectSingleNode ("// menu / mobiletesting"). GetText ();Merkkijono emailTextBox = document.selectSingleNode ("// menu / email"). GetText ();Merkkijono signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Navigointi mobiilitestaukseen ja takaisindriver.findElement (By.xpath (mobileTesting)). napsauta ();kuljettaja.navigate (). back ();// Lomaketietojen syöttäminendriver.findElement (By.id (emailTextBox)). sendKeys (" Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset Javascriptin nähdäksesi sen.");driver.findElement (By.id (signUpButton)). napsauta ();}}
Lataa WebDriver Eclipse -projekti
Yhteenveto:
- Objektivarasto on yhteinen tallennuspaikka kaikille objekteille
- Selenium WebDriver ei tarjoa oletusarvoisesti sisäänrakennettua objektivarastoa
- Voit luoda 2 tyyppistä objektivarastoa Seleniumiin
- Objektivarasto käyttämällä Ominaisuudet-tiedostoa
- Objektivarasto XML-tiedostoa käyttämällä
- Ominaisuustiedosto on tekstitiedosto, johon tiedot tallennetaan avainarvoparien muodossa
- XML-tiedostomuoto kopioi HTML-muodon, johon verkkosivu on rakennettu.