Αποθετήριο αντικειμένων σε Selenium (Αρχείο XML & Ιδιότητες)

Τι είναι ένα αποθετήριο αντικειμένων;

Ένα αποθετήριο αντικειμένων είναι μια κοινή θέση αποθήκευσης για όλα τα αντικείμενα. Σε Selenium Στο πλαίσιο του WebDriver, τα αντικείμενα θα ήταν συνήθως οι εντοπιστές που χρησιμοποιούνται για τον μοναδικό προσδιορισμό στοιχείων ιστού.

Το κύριο πλεονέκτημα της χρήσης του αποθετηρίου αντικειμένων είναι ο διαχωρισμός των αντικειμένων από τις δοκιμαστικές περιπτώσεις. Εάν αλλάξει η τιμή εντοπισμού ενός στοιχείου web, μόνο το αποθετήριο αντικειμένων χρειάζεται να αλλάξει αντί να γίνουν αλλαγές σε όλες τις δοκιμαστικές περιπτώσεις στις οποίες έχει χρησιμοποιηθεί ο εντοπιστής. Η διατήρηση ενός αποθετηρίου αντικειμένων αυξάνει την αρθρωτή εφαρμογή της εφαρμογής του πλαισίου.

Τύποι αποθετηρίων αντικειμένων σε Selenium Πρόγραμμα οδήγησης Ιστού

Selenium Το WebDriver δεν προσφέρει ενσωματωμένο χώρο αποθήκευσης αντικειμένων από προεπιλογή. Ωστόσο, τα αποθετήρια αντικειμένων μπορούν να δημιουργηθούν χρησιμοποιώντας την προσέγγιση ζεύγους κλειδιού-τιμής όπου το κλειδί αναφέρεται στο όνομα που δίνεται στο αντικείμενο και η τιμή αναφέρεται στις ιδιότητες που χρησιμοποιούνται για τον μοναδικό προσδιορισμό ενός αντικειμένου εντός της ιστοσελίδας.

Το Following είναι οι τύποι αποθετηρίων αντικειμένων που μπορούν να δημιουργηθούν Selenium WebDriver.

  1. Αποθετήριο αντικειμένων με χρήση του αρχείου Ιδιοτήτων
  2. Αποθετήριο αντικειμένων με χρήση αρχείου XML

Selenium Αποθετήριο αντικειμένων προγράμματος οδήγησης Web χρησιμοποιώντας το αρχείο Ιδιότητες

Σε αυτήν την προσέγγιση, το αρχείο ιδιοτήτων είναι ένα αρχείο κειμένου όπου τα δεδομένα αποθηκεύονται με τη μορφή ζευγών κλειδιού-τιμής. Το παρακάτω σεμινάριο θα ασχοληθεί με το ακόλουθοwing Θέματα.

Βήμα 1) Δημιουργία αρχείου ιδιοτήτων στο eclipse

  1. Αρχικά, πρέπει να δημιουργηθεί η παρακάτω δομή έργου java eclipse. Το όνομα έργου και το όνομα πακέτου μπορεί να είναι οποιαδήποτε έγκυρα ονόματα.

Δημιουργία αρχείου ιδιοτήτων σε Eclipse

  1. Κάντε δεξί κλικ στον κύριο φάκελο του έργου και επιλέξτε Νέο-> Άλλο

Δημιουργία αρχείου ιδιοτήτων σε Eclipse

  1. Στο επόμενο παράθυρο, επιλέξτε Γενικά -> Αρχείο και κάντε κλικ στο κουμπί "Επόμενο".

Δημιουργία αρχείου ιδιοτήτων σε Eclipse

  1. Δώστε ένα έγκυρο όνομα αρχείου με την επέκταση ".properties" στο παράθυρο του νέου πόρου αρχείου και κάντε κλικ στο κουμπί "Τέλος"

Δημιουργία αρχείου ιδιοτήτων σε Eclipse

  1. Ένα αρχείο με το όνομα "application.properties" πρέπει να εμφανίζεταιyed για τη Δομή του Έργου

Δημιουργία αρχείου ιδιοτήτων σε Eclipse

Βήμα 2) Αποθήκευση δεδομένων σε αρχείο ιδιοτήτων

  1. Τα δεδομένα αποθηκεύονται σε αρχείο ιδιοτήτων με τη μορφή ζευγών κλειδιού-τιμής, με το κλειδί να είναι μοναδικό σε όλο το αρχείο.
  2. Θα προσπαθήσουμε να χρησιμοποιήσουμε το αρχείο ιδιοτήτων για να αναγνωρίσουμε στοιχεία web χρησιμοποιώντας τιμές εντοπισμού.
  3. Ανοίξτε το αρχείο application.properties Eclipse και αποθηκεύστε το following ημερομηνία
MobileTesting=//a[text()='MOBILE TESTING']
EmailTextBox = philadelphia-field-email
SignUpButton = philadelphia-field-submit

Αποθήκευση δεδομένων σε αρχείο ιδιοτήτων

4) Για αυτό το σεμινάριο, το ακόλουθοwing Ο ιστότοπος επίδειξης χρησιμοποιείται:

http://demo.guru99.com/test/guru99home/. Εδώ είναι το σενάριο δοκιμής:

  • Κάντε κλικ στο σύνδεσμο Δοκιμή για φορητές συσκευές χρησιμοποιώντας XPATH
  • Πλοηγηθείτε πίσω
  • Εισαγάγετε δεδομένα στο email κείμενοbox χρησιμοποιώντας ID
  • Κάντε κλικ στο κουμπί Εγγραφή χρησιμοποιώντας το αναγνωριστικό

Βήμα 3) Ανάγνωση δεδομένων από το αρχείο ιδιοτήτων

  1. Η ανάγνωση δεδομένων από το αρχείο ιδιοτήτων μπορεί να γίνει χρησιμοποιώντας την ενσωματωμένη κλάση Ιδιοτήτων που παρέχεται στο πακέτο java.util.
  2. Αρχικά, πρέπει να δημιουργηθεί ένα αντικείμενο της κλάσης Ιδιότητες όπως παρακάτω
  Properties obj = new Properties();
  1. Πρέπει να δημιουργήσουμε ένα αντικείμενο της κλάσης FileInputStream με τη διαδρομή προς το αρχείο ιδιοτήτων
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
  1. Η ανάγνωση δεδομένων από το αρχείο ιδιοτήτων μπορεί να γίνει χρησιμοποιώντας τη μέθοδο φόρτωσης που προσφέρεται από την κλάση Ιδιότητες στη java. Ο παρακάτω κώδικας δείχνει τη χρήση της μεθόδου φόρτωσης.
Properties obj = new Properties();
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
obj.load(objfile);
String mobileTesting = obj.getProperty("MobileTesting");

Η συμβολοσειρά 'mobileTesting' θα περιέχει το XPATH για τον προσδιορισμό του συνδέσμου Mobile Testing εντός της ιστοσελίδας.

Βήμα 4) Χρήση αρχείου ιδιοτήτων σε δοκιμαστικά σενάρια

Το αρχείο ιδιοτήτων μπορεί να χρησιμοποιηθεί σε δοκιμαστικά σενάρια διαβάζοντας δεδομένα από ένα αρχείο ιδιοτήτων και μεταβιβάζοντας τα δεδομένα ως παράμετρο στη μέθοδο findElement. Ο παρακάτω κώδικας δείχνει τη χρήση των δεδομένων που διαβάζονται από το αρχείο ιδιοτήτων σε δοκιμαστικά σενάρια.

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();

Ο παρακάτω είναι ο πλήρης κώδικας που χρησιμοποιείται για το παραπάνω σενάριο δοκιμής.

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("http://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 με χρήση αρχείου XML

Η XML σημαίνει επεκτάσιμη γλώσσα σήμανσης. Ένα αρχείο XML χρησιμοποιεί Document Object Model (DOM) ως βασική δομή. Η μορφή αρχείου XML θα αναπαράγει τη μορφή HTML πάνω στην οποία έχει κατασκευαστεί η ιστοσελίδα. Ακολουθεί η λίστα με τα θέματα που θα καλυφθούν.

Βήμα 1) Δημιουργία αρχείου XML στο eclipse

  1. Η παρακάτω δομή έργου java πρέπει να δημιουργηθεί μέσα Eclipse.

Δημιουργία αρχείου XML σε Eclipse

  1. Κάντε δεξί κλικ στο φάκελο του έργου, επιλέξτε Νέο -> Άλλο

Δημιουργία αρχείου XML σε Eclipse

  1. Επιλέξτε το Αρχείο XML μέσα στο φάκελο XML και κάντε κλικ στο κουμπί «Επόμενο».

Δημιουργία αρχείου XML σε Eclipse

  1. Εισαγάγετε ένα έγκυρο όνομα αρχείου XML και κάντε κλικ στο κουμπί «Τέλος».

Δημιουργία αρχείου XML σε Eclipse

  1. Ένα αρχείο XML θα προστεθεί στο φάκελο του έργου όπως φαίνεται παρακάτω

Δημιουργία αρχείου XML σε Eclipse

Βήμα 2) Αποθήκευση δεδομένων σε αρχείο XML

Τα δεδομένα μπορούν να αποθηκευτούν σε αρχείο XML με τη μορφή Document Object Model (DOM). Για λόγους απλότητας, μπορούμε να χρησιμοποιήσουμε το παρακάτω σενάριο δοκιμής ως παράδειγμα.

  • Κάντε κλικ στο σύνδεσμο Δοκιμή για φορητές συσκευές χρησιμοποιώντας XPATH
  • Πλοηγηθείτε Επιστροφή στην Αρχική σελίδα
  • Εισαγάγετε δεδομένα στο email κείμενοbox χρησιμοποιώντας ID
  • Κάντε κλικ στο κουμπί Εγγραφή χρησιμοποιώντας το αναγνωριστικό

Το παρακάτω είναι η μορφή του αρχείου XML που θα χρησιμοποιηθεί.

<menu>     
      <mobiletesting>//a[text()='MOBILE TESTING']</mobiletesting>  
      <email> philadelphia-field-email</email> 
      <signup> philadelphia-field-submit </signup>     
 </menu>

Αποθηκεύστε τον παραπάνω κώδικα XML στο properties.xml

Αποθήκευση δεδομένων σε αρχείο XML

Στην καρτέλα σχεδίαση θα δείτε

Αποθήκευση δεδομένων σε αρχείο XML

Βήμα 3) Ανάγνωση δεδομένων από αρχείο XML

1. Η ανάγνωση δεδομένων από το αρχείο XML μπορεί να επιτευχθεί χρησιμοποιώντας την ενσωματωμένη κλάση 'dom4j' στη java. Λάβετε υπόψη ότι πρέπει να προσθέσετε τα παρακάτω αρχεία JAR στη διαδρομή κατασκευής του έργου σας πριν προχωρήσετε με τον κώδικα.

  • jaxen.jar
  • dom4j-1.6.jar

2. Παρακάτω είναι ο κώδικας για την ανάγνωση δεδομένων από το αρχείο XML.

		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. Αρχικά, πρέπει να δημιουργήσουμε ένα αντικείμενο File και να το περάσουμε ως παράμετρο στη μέθοδο 'read' της κλάσης SAXReader. Μόλις διαβαστούν με επιτυχία τα δεδομένα του αρχείου XML, μπορούμε να έχουμε πρόσβαση σε μεμονωμένους κόμβους του εγγράφου XML χρησιμοποιώντας τη μέθοδο 'selectSingleNode'.

Βήμα 4) Χρήση αρχείου XML σε δοκιμαστικά σενάρια

Το αρχείο XML μπορεί να χρησιμοποιηθεί σε δοκιμαστικά σενάρια διαβάζοντας δεδομένα από αρχείο XML και περνώντας τα δεδομένα ως παράμετρο στη μέθοδο findElement. Ο παρακάτω κώδικας δείχνει τη χρήση των δεδομένων που διαβάζονται από το αρχείο XML σε δοκιμαστικά σενάρια.

driver.findElement(By.xpath(mobileTesting)).click();
driver.findElement(By.id(emailTextBox)).sendKeys("testguru99@gmail.com");
driver.findElement(By.id(signUpButton)).click();

Ο παρακάτω κώδικας δείχνει τη χρήση του αρχείου XML σε selenium Πρόγραμμα οδήγησης Web

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("http://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();				

	}		
}		

Κάντε λήψη του προγράμματος οδήγησης Web Eclipse Σχέδιο

Χαρακτηριστικά

  • Ένα αποθετήριο αντικειμένων είναι μια κοινή θέση αποθήκευσης για όλα τα αντικείμενα
  • Selenium Το WebDriver δεν προσφέρει ενσωματωμένο χώρο αποθήκευσης αντικειμένων από προεπιλογή
  • Μπορείτε να δημιουργήσετε 2 τύπους αποθετηρίου αντικειμένων Selenium
    1. Αποθετήριο αντικειμένων με χρήση του αρχείου Ιδιοτήτων
    2. Αποθετήριο αντικειμένων με χρήση αρχείου XML
  • Το αρχείο ιδιοτήτων είναι ένα αρχείο κειμένου όπου τα δεδομένα αποθηκεύονται με τη μορφή ζευγών κλειδιών-τιμών
  • Η μορφή αρχείου XML θα αναπαράγει τη μορφή HTML πάνω στην οποία έχει κατασκευαστεί η ιστοσελίδα.