Objektumtár be Selenium (XML és tulajdonságfájl)
Mi az objektumtár?
Az objektumtár az összes objektum közös tárolási helye. Ban ben Selenium WebDriver kontextusban az objektumok általában a webes elemek egyedi azonosítására használt lokátorok.
Az objektumtár használatának legnagyobb előnye az objektumok elkülönítése a tesztesetektől. Ha egy webelem helymeghatározó értéke megváltozik, akkor csak az objektumtárat kell módosítani ahelyett, hogy minden olyan tesztesetben módosítani kellene, amelyben a lokátort használták. Az objektumtár fenntartása növeli a keretrendszer megvalósításának modularitását.
Az objektumtárak típusai itt Selenium Web Driver
Selenium A WebDriver alapértelmezés szerint nem kínál beépített objektumtárat. Az objektumtárak azonban létrehozhatók a kulcs-érték páros megközelítéssel, ahol a kulcs az objektumnak adott névre, az érték pedig az objektum weboldalon belüli egyedi azonosítására használt tulajdonságokra utal.
Az alábbiakban bemutatjuk a létrehozható objektumtárak típusait Selenium WebDriver.
- Objektumtár a Properties fájl használatával
- Objektumtár XML-fájl használatával
Selenium Web Driver Objektumtár a Properties fájl használatával
Ebben a megközelítésben a tulajdonságfájl egy szöveges fájl, amelyben az adatokat kulcs-érték párok formájában tárolják. Az alábbi oktatóanyag a következő témákkal foglalkozik.
- Tulajdonságfájl létrehozása eclipse-ben
- Adatok tárolása tulajdonságfájlban
- Adatok beolvasása tulajdonságfájlból
- Tulajdonságfájl használata tesztszkriptekben
1. lépés) Tulajdonságfájl létrehozása az eclipse-ben
- Először is az alábbi java projektstruktúrát kell létrehozni az eclipse-ben. A projektnév és a csomagnév bármilyen érvényes név lehet.
- Kattintson a jobb gombbal a fő projekt mappára, és válassza az Új-> Egyéb lehetőséget
- A következő ablakban válassza az Általános -> Fájl menüpontot, majd kattintson a "Tovább" gombra
- Adjon meg egy érvényes fájlnevet „.properties” kiterjesztéssel az új fájlerőforrás ablakban, majd kattintson a „Befejezés” gombra.
- Az 'application.properties' nevű fájlnak meg kell jelennie a Project Structure oldalon
2. lépés) Adatok tárolása tulajdonságfájlban
- Az adatokat a tulajdonságfájlban tárolják kulcs-érték párok formájában, ahol a kulcs egyedi a fájlban.
- Megpróbáljuk a tulajdonságfájlt használni a webelemek azonosítására lokátorértékek segítségével.
- Nyissa meg az application.properties fájlt Eclipse és tárolja a következő adatokat
MobileTesting=//a[text()='MOBILE TESTING'] EmailTextBox = philadelphia-field-email SignUpButton = philadelphia-field-submit
4) Ehhez az oktatóanyaghoz a következő bemutató webhelyet használjuk:
https://demo.guru99.com/test/guru99home/. Íme a teszt forgatókönyve:
- Kattintson a Mobile Testing linkre XPATH használatával
- Navigáljon vissza
- Írja be az adatokat az e-mail szövegdobozba az azonosító használatával
- Kattintson a Regisztráció gombra az azonosító használatával
3. lépés: Adatok beolvasása a tulajdonságfájlból
- Az adatok beolvasása a tulajdonságfájlból a java.util csomagban található beépített Properties osztály segítségével történhet.
- Kezdetben a Properties osztály objektumát kell létrehozni az alábbiak szerint
Properties obj = new Properties();
- Létre kell hoznunk egy FileInputStream osztályú objektumot a tulajdonságfájl elérési útjával
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
- Az adatok beolvasása a tulajdonságfájlból a java Properties osztálya által kínált betöltési módszerrel történhet. Az alábbi kód a betöltési módszer használatát mutatja be.
Properties obj = new Properties(); FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties"); obj.load(objfile); String mobileTesting = obj.getProperty("MobileTesting");
A „mobileTesting” karakterlánc tartalmazza az XPATH-t, amely azonosítja a mobiltesztelés hivatkozást a weboldalon.
4. lépés) A tulajdonságfájl használata tesztszkriptekben
A Properties fájl tesztszkriptekben használható úgy, hogy adatokat olvas ki egy tulajdonságfájlból, és paraméterként átadja az adatokat a findElement metódusnak. Az alábbi kód a tulajdonságfájlból kiolvasott adatok tesztszkriptekben való felhasználását mutatja be.
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();
Az alábbiakban a fenti tesztforgatókönyvhöz használt teljes kód látható.
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 objektumtár XML-fájl használatával
Az XML az Extensible Markup Language rövidítése. Az XML-fájlok a Document Object Model (DOM) alapstruktúrát használják. Az XML fájlformátum megismétli azt a HTML formátumot, amelyre a weboldal készült. Az alábbiakban felsoroljuk azokat a témákat, amelyekről szó lesz.
- XML-fájl létrehozása eclipse-ben
- Adatok tárolása XML fájlban
- Adatok olvasása XML fájlból
- XML-fájl használata tesztszkriptekben
1. lépés) XML-fájl létrehozása eclipse-ben
- Az alábbi java projektstruktúrát kell létrehozni Eclipse.
- Kattintson a jobb gombbal a projekt mappára, válassza az Új -> Egyéb lehetőséget
- Válassza ki az XML fájlt az XML mappában, és kattintson a „Tovább” gombra
- Adjon meg egy érvényes XML fájlnevet, és kattintson a „Befejezés” gombra
- Az alábbiak szerint egy XML-fájl kerül a projekt mappájába
2. lépés) Adatok tárolása XML fájlba
Az adatok XML-fájlban tárolhatók Document Object Model (DOM) formájában. Az egyszerűség kedvéért példaként használhatjuk az alábbi tesztforgatókönyvet.
- Kattintson a Mobile Testing linkre XPATH használatával
- Navigáljon vissza a kezdőlapra
- Írja be az adatokat az e-mail szövegdobozba az azonosító használatával
- Kattintson a Regisztráció gombra az azonosító használatával
Az alábbiakban látható a használandó XML fájl formátuma.
<menu> <mobiletesting>//a[text()='MOBILE TESTING']</mobiletesting> <email> philadelphia-field-email</email> <signup> philadelphia-field-submit </signup> </menu>
Tárolja a fenti XML-kódot a property.xml fájlban
A tervezés lapon látni fogja
3. lépés) Adatok beolvasása XML fájlból
1. Az adatok beolvasása XML fájlból a java beépített 'dom4j' osztályával valósítható meg. Kérjük, vegye figyelembe, hogy a kóddal való továbblépés előtt hozzá kell adnia az alábbi JAR fájlokat a projekt buildpath-jához.
- jaxen.jar
- dom4j-1.6.jar
2. Az alábbiakban található az XML-fájlból származó adatok beolvasásának kódja.
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. Kezdetben létre kell hoznunk egy File objektumot, és paraméterként kell átadnunk a SAXReader osztály 'read' metódusának. Az XML-fájl adatainak sikeres beolvasása után a „selectSingleNode” metódussal elérhetjük az XML-dokumentum egyes csomópontjait.
4. lépés) XML-fájl használata tesztszkriptekben
Az XML fájl tesztszkriptekben használható, ha adatokat olvas XML fájlból, és paraméterként adja át az adatokat a findElement metódusnak. Az alábbi kód az XML-fájlból kiolvasott adatok tesztszkriptekben való felhasználását mutatja be.
driver.findElement(By.xpath(mobileTesting)).click(); driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com"); driver.findElement(By.id(signUpButton)).click();
Az alábbi kód bemutatja az XML-fájl használatát a szelén WebDriverben
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(); } }
Töltse le a WebDrivert Eclipse NetPoulSafe projekt
Összegzésként
- Az objektumtár az összes objektum közös tárolási helye
- Selenium A WebDriver alapértelmezés szerint nem kínál beépített objektumtárat
- 2 típusú objektumtárat hozhat létre Selenium
- Objektumtár a Properties fájl használatával
- Objektumtár XML-fájl használatával
- A tulajdonságfájl egy szöveges fájl, amelyben az adatok kulcs-érték párok formájában vannak tárolva
- Az XML fájlformátum megismétli azt a HTML formátumot, amelyre a weboldal készült.