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.

  1. Objektumtár a Properties fájl használatával
  2. 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.

1. lépés) Tulajdonságfájl létrehozása az eclipse-ben

  1. 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.

Tulajdonságfájl létrehozása itt Eclipse

  1. Kattintson a jobb gombbal a fő projekt mappára, és válassza az Új-> Egyéb lehetőséget

Tulajdonságfájl létrehozása itt Eclipse

  1. A következő ablakban válassza az Általános -> Fájl menüpontot, majd kattintson a "Tovább" gombra

Tulajdonságfájl létrehozása itt Eclipse

  1. Adjon meg egy érvényes fájlnevet „.properties” kiterjesztéssel az új fájlerőforrás ablakban, majd kattintson a „Befejezés” gombra.

Tulajdonságfájl létrehozása itt Eclipse

  1. Az 'application.properties' nevű fájlnak meg kell jelennie a Project Structure oldalon

Tulajdonságfájl létrehozása itt Eclipse

2. lépés) Adatok tárolása tulajdonságfájlban

  1. Az adatokat a tulajdonságfájlban tárolják kulcs-érték párok formájában, ahol a kulcs egyedi a fájlban.
  2. Megpróbáljuk a tulajdonságfájlt használni a webelemek azonosítására lokátorértékek segítségével.
  3. 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

Adatok tárolása tulajdonságfájlban

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

  1. 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.
  2. Kezdetben a Properties osztály objektumát kell létrehozni az alábbiak szerint
  Properties obj = new Properties();
  1. 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");
  1. 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.

1. lépés) XML-fájl létrehozása eclipse-ben

  1. Az alábbi java projektstruktúrát kell létrehozni Eclipse.

XML-fájl létrehozása Eclipse

  1. Kattintson a jobb gombbal a projekt mappára, válassza az Új -> Egyéb lehetőséget

XML-fájl létrehozása Eclipse

  1. Válassza ki az XML fájlt az XML mappában, és kattintson a „Tovább” gombra

XML-fájl létrehozása Eclipse

  1. Adjon meg egy érvényes XML fájlnevet, és kattintson a „Befejezés” gombra

XML-fájl létrehozása Eclipse

  1. Az alábbiak szerint egy XML-fájl kerül a projekt mappájába

XML-fájl létrehozása Eclipse

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

Adatok tárolása XML fájlba

A tervezés lapon látni fogja

Adatok tárolása XML fájlba

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
    1. Objektumtár a Properties fájl használatával
    2. 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.