Αποθετήριο αντικειμένων σε Selenium
⚡ Έξυπνη Σύνοψη
Αποθετήριο αντικειμένων σε Selenium Συγκεντρώνει τους εντοπιστές στοιχείων σε ένα μόνο εξωτερικό αρχείο, διαχωρίζοντάς τους από τα σενάρια δοκιμών. Αυτή η προσέγγιση βελτιώνει τη συντήρηση και επιτρέπει στους δοκιμαστές να ενημερώνουν τους εντοπιστές σε ένα μέρος αντί να επεξεργάζονται πολλές περιπτώσεις δοκιμών.

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













