Objektumtár be Selenium
⚡ Okos összefoglaló
Objektumtár be Selenium egyetlen külső fájlba központosítja az elemlokátorokat, elkülönítve őket a tesztszkriptektől. Ez a megközelítés javítja a karbantartást, és lehetővé teszi a tesztelők számára, hogy egy helyen frissítsék a lokátorokat a sok teszteset szerkesztése helyett.

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 fő előnye az objektumok elkülönítése a tesztesetektől. Ha egy webes elem lokátorértéke megváltozik, akkor csak az objektumtárat kell módosítani, ahelyett, hogy az összes olyan tesztesetet módosítanánk, amelyben a lokátort használták. Az objektumtár fenntartása növeli a keretrendszer implementációjá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 kulcs-érték páros megközelítéssel hozhatók létre, ahol a kulcs az objektumnak adott névre, az érték pedig a weboldalon belüli objektum 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övegfájl, amelyben az adatok kulcs-érték párok formájában tárolódnak. Az alábbi oktatóanyag a következő témákat tárgyalja.
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 jobb gombbal a fő projektmappára, és válassza az Új-> Egyéb lehetőséget.
- A következő ablakban válaszd az Általános -> Fájl menüpontot, majd kattints a „Tovább” gombra.
- Adjon meg egy érvényes fájlnevet '.properties' kiterjesztéssel az új fájl erőforrás ablakban, majd kattintson a 'Befejezés' gombra.
- Egy „application.properties” nevű fájlnak kell megjelennie a projektstruktúrában.
2. lépés) Adatok tárolása tulajdonságfájlban
- Az adatokat egy tulajdonságfájlban tároljuk kulcs-érték párok formájában, ahol a kulcs egyedi a fájlban.
- Megpróbáljuk a properties fájlt használni a webes elemek azonosítására lokátorértékek segítségével.
- Nyissa meg az application.properties fájlt a 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/Itt van a tesztforgatókönyv:
- Kattintson a Mobil tesztelés linkre az XPATH használatával
- Navigáljon vissza
- Írja be az adatokat az e-mail szövegmezőbe 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
- Egy properties fájlból az adatok olvasása a java.util csomagban található beépített Properties osztály használatával végezhető el.
- Kezdetben létre kell hozni egy Properties osztályú objektumot az alábbiak szerint:
Properties obj = new Properties();
- Létre kell hoznunk egy FileInputStream osztályú objektumot a properties fájl elérési útjával.
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
- Egy properties fájlból az adatok olvasása a Java Properties osztálya által kínált load metódussal végezhető el. Az alábbi kód a load metódus 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
Egy tulajdonságfájl használható tesztszkriptekben úgy, hogy adatokat olvasunk be a tulajdonságfájlból, és paraméterként adjuk át a findElement metódusnak. Az alábbi kód bemutatja a tulajdonságfájlból beolvasott adatok használatát tesztszkriptekben.
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); // Navigate 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 (bővíthető jelölőnyelv) rövidítése. Az XML fájlok a Document Object Model (DOM) alapstruktúrát használják. Az XML fájlformátum a weboldal alapjául szolgáló HTML formátumot másolja le. Az alábbiakban a tárgyalt témák listája látható.
- 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
- Jelölje ki az XML fájlt az XML mappában, és kattintson a „Tovább” gombra.
- Adjon meg egy érvényes XML fájlnevet, majd 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átumban. Az egyszerűség kedvéért az alábbi tesztforgatókönyvet használhatjuk példaként.
- Kattintson a Mobil tesztelés linkre az XPATH használatával
- Vissza a kezdőlapra
- Írja be az adatokat az e-mail szövegmezőbe azonosító használatával
- Kattintson a Regisztráció gombra az azonosító használatával
Az alábbiakban a használandó XML fájl formátuma látható.
<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 XML fájlból történő adatolvasás a Java beépített 'dom4j' osztályával végezhető el. Kérjük, vegye figyelembe, hogy a kód folytatása előtt hozzá kell adnia az alábbi JAR fájlokat a projekt építési útvonalához.
- jaxen.jar
- dom4j-1.6.jar
2. Az alábbi kód az XML fájlból történő adatolvasáshoz használható.
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. Először létre kell hoznunk egy File objektumot, és paraméterként kell átadnunk a SAXReader osztály 'read' metódusának. Miután az XML fájl adatai sikeresen beolvasva lettek, a 'selectSingleNode' metódus segítségével elérhetjük az XML dokumentum egyes csomópontjait.
4. lépés) XML-fájl használata tesztszkriptekben
Egy XML fájl használható tesztszkriptekben úgy, hogy adatokat olvasunk be az XML fájlból, és paraméterként adjuk át a findElement metódusnak. Az alábbi kód bemutatja az XML fájlból beolvasott adatok használatát tesztszkriptekben.
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 egy XML fájl használatát mutatja be a selenium 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













