Αποθετήριο αντικειμένων σε Selenium (Αρχείο XML & Ιδιότητες)
Τι είναι ένα αποθετήριο αντικειμένων;
Ένα αποθετήριο αντικειμένων είναι μια κοινή θέση αποθήκευσης για όλα τα αντικείμενα. Σε Selenium Στο πλαίσιο του WebDriver, τα αντικείμενα θα ήταν συνήθως οι εντοπιστές που χρησιμοποιούνται για τον μοναδικό προσδιορισμό στοιχείων ιστού.
Το κύριο πλεονέκτημα της χρήσης του αποθετηρίου αντικειμένων είναι ο διαχωρισμός των αντικειμένων από τις δοκιμαστικές περιπτώσεις. Εάν αλλάξει η τιμή εντοπισμού ενός στοιχείου web, μόνο το αποθετήριο αντικειμένων χρειάζεται να αλλάξει αντί να γίνουν αλλαγές σε όλες τις δοκιμαστικές περιπτώσεις στις οποίες έχει χρησιμοποιηθεί ο εντοπιστής. Η διατήρηση ενός αποθετηρίου αντικειμένων αυξάνει την αρθρωτή εφαρμογή της εφαρμογής του πλαισίου.
Τύποι αποθετηρίων αντικειμένων σε Selenium Πρόγραμμα οδήγησης Ιστού
Selenium Το WebDriver δεν προσφέρει ενσωματωμένο χώρο αποθήκευσης αντικειμένων από προεπιλογή. Ωστόσο, τα αποθετήρια αντικειμένων μπορούν να δημιουργηθούν χρησιμοποιώντας την προσέγγιση ζεύγους κλειδιού-τιμής όπου το κλειδί αναφέρεται στο όνομα που δίνεται στο αντικείμενο και η τιμή αναφέρεται στις ιδιότητες που χρησιμοποιούνται για τον μοναδικό προσδιορισμό ενός αντικειμένου εντός της ιστοσελίδας.
Ακολουθούν οι τύποι αποθετηρίων αντικειμένων που μπορούν να δημιουργηθούν Selenium WebDriver.
- Αποθετήριο αντικειμένων με χρήση του αρχείου Ιδιοτήτων
- Αποθετήριο αντικειμένων με χρήση αρχείου XML
Selenium Αποθετήριο αντικειμένων προγράμματος οδήγησης Web χρησιμοποιώντας το αρχείο Ιδιότητες
Σε αυτήν την προσέγγιση, το αρχείο ιδιοτήτων είναι ένα αρχείο κειμένου όπου τα δεδομένα αποθηκεύονται με τη μορφή ζευγών κλειδιού-τιμής. Το παρακάτω σεμινάριο θα ασχοληθεί με τα ακόλουθα θέματα.
- Δημιουργία αρχείου ιδιοτήτων στο eclipse
- Αποθήκευση δεδομένων σε αρχείο ιδιοτήτων
- Ανάγνωση δεδομένων από το αρχείο ιδιοτήτων
- Χρήση αρχείου ιδιοτήτων σε δοκιμαστικά σενάρια
Βήμα 1) Δημιουργία αρχείου ιδιοτήτων στο eclipse
- Αρχικά, η παρακάτω δομή έργου java πρέπει να δημιουργηθεί σε έκλειψη. Το όνομα έργου και το όνομα πακέτου μπορεί να είναι οποιαδήποτε έγκυρα ονόματα.
- Κάντε δεξί κλικ στον κύριο φάκελο του έργου και επιλέξτε Νέο-> Άλλο
- Στο επόμενο παράθυρο, επιλέξτε Γενικά -> Αρχείο και κάντε κλικ στο κουμπί "Επόμενο".
- Δώστε ένα έγκυρο όνομα αρχείου με την επέκταση ".properties" στο παράθυρο του νέου πόρου αρχείου και κάντε κλικ στο κουμπί "Τέλος"
- Ένα αρχείο με το όνομα 'application.properties' πρέπει να εμφανίζεται στη δομή του έργου
Βήμα 2) Αποθήκευση δεδομένων σε αρχείο ιδιοτήτων
- Τα δεδομένα αποθηκεύονται σε αρχείο ιδιοτήτων με τη μορφή ζευγών κλειδιού-τιμής, με το κλειδί να είναι μοναδικό σε όλο το αρχείο.
- Θα προσπαθήσουμε να χρησιμοποιήσουμε το αρχείο ιδιοτήτων για να αναγνωρίσουμε στοιχεία web χρησιμοποιώντας τιμές εντοπισμού.
- Ανοίξτε το αρχείο application.properties Eclipse και αποθηκεύστε τα ακόλουθα δεδομένα
MobileTesting=//a[text()='MOBILE TESTING'] EmailTextBox = philadelphia-field-email SignUpButton = philadelphia-field-submit
4) Για αυτό το σεμινάριο, χρησιμοποιείται ο παρακάτω ιστότοπος επίδειξης:
https://demo.guru99.com/test/guru99home/. Εδώ είναι το σενάριο δοκιμής:
- Κάντε κλικ στο σύνδεσμο Δοκιμή για φορητές συσκευές χρησιμοποιώντας XPATH
- Πλοηγηθείτε πίσω
- Εισαγάγετε δεδομένα στο πλαίσιο κειμένου email χρησιμοποιώντας το αναγνωριστικό
- Κάντε κλικ στο κουμπί Εγγραφή χρησιμοποιώντας το αναγνωριστικό
Βήμα 3) Ανάγνωση δεδομένων από το αρχείο ιδιοτήτων
- Η ανάγνωση δεδομένων από το αρχείο ιδιοτήτων μπορεί να γίνει χρησιμοποιώντας την ενσωματωμένη κλάση Ιδιοτήτων που παρέχεται στο πακέτο java.util.
- Αρχικά, πρέπει να δημιουργηθεί ένα αντικείμενο της κλάσης Ιδιότητες όπως παρακάτω
Properties obj = new Properties();
- Πρέπει να δημιουργήσουμε ένα αντικείμενο της κλάσης FileInputStream με τη διαδρομή προς το αρχείο ιδιοτήτων
FileInputStream objfile = new FileInputStream(System.getProperty("user.dir")+"\\application.properties");
- Η ανάγνωση δεδομένων από το αρχείο ιδιοτήτων μπορεί να γίνει χρησιμοποιώντας τη μέθοδο φόρτωσης που προσφέρεται από την κλάση Ιδιότητες στη 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("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 με χρήση αρχείου XML
Η XML σημαίνει επεκτάσιμη γλώσσα σήμανσης. Ένα αρχείο XML χρησιμοποιεί Document Object Model (DOM) ως βασική δομή. Η μορφή αρχείου XML θα αναπαράγει τη μορφή HTML πάνω στην οποία έχει κατασκευαστεί η ιστοσελίδα. Ακολουθεί η λίστα με τα θέματα που θα καλυφθούν.
- Δημιουργία αρχείου XML στο eclipse
- Αποθήκευση δεδομένων σε αρχείο XML
- Ανάγνωση δεδομένων από αρχείο XML
- Χρήση αρχείου XML σε δοκιμαστικά σενάρια
Βήμα 1) Δημιουργία αρχείου XML στο eclipse
- Η παρακάτω δομή έργου java πρέπει να δημιουργηθεί μέσα Eclipse.
- Κάντε δεξί κλικ στο φάκελο του έργου, επιλέξτε Νέο -> Άλλο
- Επιλέξτε το Αρχείο XML μέσα στο φάκελο XML και κάντε κλικ στο κουμπί «Επόμενο».
- Εισαγάγετε ένα έγκυρο όνομα αρχείου XML και κάντε κλικ στο κουμπί «Τέλος».
- Ένα αρχείο XML θα προστεθεί στο φάκελο του έργου όπως φαίνεται παρακάτω
Βήμα 2) Αποθήκευση δεδομένων σε αρχείο XML
Τα δεδομένα μπορούν να αποθηκευτούν σε αρχείο XML με τη μορφή Document Object Model (DOM). Για λόγους απλότητας, μπορούμε να χρησιμοποιήσουμε το παρακάτω σενάριο δοκιμής ως παράδειγμα.
- Κάντε κλικ στο σύνδεσμο Δοκιμή για φορητές συσκευές χρησιμοποιώντας XPATH
- Πλοηγηθείτε Επιστροφή στην Αρχική σελίδα
- Εισαγάγετε δεδομένα στο πλαίσιο κειμένου email χρησιμοποιώντας το αναγνωριστικό
- Κάντε κλικ στο κουμπί Εγγραφή χρησιμοποιώντας το αναγνωριστικό
Το παρακάτω είναι η μορφή του αρχείου XML που θα χρησιμοποιηθεί.
<menu>
<mobiletesting>//a[text()='MOBILE TESTING']</mobiletesting>
<email> philadelphia-field-email</email>
<signup> philadelphia-field-submit </signup>
</menu>
Αποθηκεύστε τον παραπάνω κώδικα XML στο properties.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 WebDriver
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();
}
}
Κάντε λήψη του προγράμματος οδήγησης Web Eclipse ΕΡΓΟ
Περίληψη
- Ένα αποθετήριο αντικειμένων είναι μια κοινή θέση αποθήκευσης για όλα τα αντικείμενα
- Selenium Το WebDriver δεν προσφέρει ενσωματωμένο χώρο αποθήκευσης αντικειμένων από προεπιλογή
- Μπορείτε να δημιουργήσετε 2 τύπους αποθετηρίου αντικειμένων Selenium
- Αποθετήριο αντικειμένων με χρήση του αρχείου Ιδιοτήτων
- Αποθετήριο αντικειμένων με χρήση αρχείου XML
- Το αρχείο ιδιοτήτων είναι ένα αρχείο κειμένου όπου τα δεδομένα αποθηκεύονται με τη μορφή ζευγών κλειδιών-τιμών
- Η μορφή αρχείου XML θα αναπαράγει τη μορφή HTML πάνω στην οποία έχει κατασκευαστεί η ιστοσελίδα.













