Δημιουργία αποθετηρίου αντικειμένων στο Selenium WebDriver: XML & Αρχείο ιδιοτήτων

Πίνακας περιεχομένων:

Anonim

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

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

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

Σε αυτό το σεμινάριο, θα μάθετε-

  • Τι είναι ένα αποθετήριο αντικειμένων;
  • Τύποι αποθετηρίων αντικειμένων στο πρόγραμμα οδήγησης ιστού Selenium
  • Selenium Web Driver Object αποθετήριο χρησιμοποιώντας αρχείο Properties
  • Selenium WebDriver Object Repository με χρήση αρχείου XML

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

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

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

  1. Αντικείμενο αποθετηρίου χρησιμοποιώντας αρχείο Properties
  2. Αντικείμενο αποθετηρίου χρησιμοποιώντας XML αρχείο

Selenium Web Driver Object αποθετήριο χρησιμοποιώντας αρχείο Properties

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

  • Δημιουργία αρχείου ιδιοτήτων σε έκλειψη
  • Αποθήκευση δεδομένων στο αρχείο ιδιοτήτων
  • Ανάγνωση δεδομένων από το αρχείο ιδιοτήτων
  • Χρήση αρχείου ιδιοτήτων σε δοκιμαστικά σενάρια

Βήμα 1) Δημιουργία ενός αρχείου ιδιοτήτων σε έκλειψη

  1. Καταρχάς, η παρακάτω δομή έργου java πρέπει να δημιουργηθεί σε έκλειψη. Το όνομα του έργου και το όνομα του πακέτου μπορεί να είναι οποιαδήποτε έγκυρα ονόματα.

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

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

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

  1. Ένα αρχείο με το όνομα «application.properties» πρέπει να εμφανίζεται στο Project Structure

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

  1. Τα δεδομένα αποθηκεύονται σε αρχείο ιδιοτήτων με τη μορφή ζευγών κλειδιών-τιμών, με το κλειδί να είναι μοναδικό σε ολόκληρο το αρχείο.
  2. Θα προσπαθήσουμε να χρησιμοποιήσουμε το αρχείο ιδιοτήτων για τον εντοπισμό στοιχείων web χρησιμοποιώντας τιμές εντοπισμού.
  3. Ανοίξτε το αρχείο application.properties στο Eclipse και αποθηκεύστε τα ακόλουθα δεδομένα
MobileTesting = // a [κείμενο () = 'ΔΟΚΙΜΗ ΚΙΝΗΣΗΣ']EmailTextBox = Φιλαδέλφεια-πεδίο-emailSignUpButton = Φιλαδέλφεια-πεδίο-υποβολή

4) Για αυτό το σεμινάριο, χρησιμοποιείται ο ακόλουθος ιστότοπος επίδειξης: http://demo.guru99.com/test/guru99home/. Εδώ είναι το σενάριο δοκιμής:

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

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

  1. Η ανάγνωση δεδομένων από το αρχείο ιδιοτήτων μπορεί να γίνει χρησιμοποιώντας την ενσωματωμένη κατηγορία ιδιοτήτων που παρέχεται στο πακέτο java.util.
  2. Αρχικά, πρέπει να δημιουργηθεί ένα αντικείμενο κλάσης ιδιοτήτων όπως παρακάτω
 Ιδιότητες obj = νέες ιδιότητες (); 
  1. Πρέπει να δημιουργήσουμε ένα αντικείμενο της κλάσης FileInputStream με τη διαδρομή προς το αρχείο ιδιοτήτων
FileInputStream objfile = νέο FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");
  1. Η ανάγνωση δεδομένων από το αρχείο ιδιοτήτων μπορεί να γίνει χρησιμοποιώντας τη μέθοδο φόρτωσης που προσφέρεται από την κατηγορία Properties στην Java. Ο παρακάτω κώδικας δείχνει τη χρήση της μεθόδου φόρτωσης.
Ιδιότητες obj = νέες ιδιότητες ();FileInputStream objfile = νέο 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"))). κάντε κλικ ();driver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). κάντε κλικ (); 

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

πακέτο com.objectrepository.demo;εισαγωγή java.io.FileInputStream;εισαγωγή java.io.FileNotFoundException;εισαγωγή java.io.IOException;εισαγωγή java.util.Properties;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;επίδειξη δημόσιας τάξης {public static void main (String [] args) ρίχνει το IOException {// Δημιουργία παρουσίας WebDriverΠρόγραμμα οδήγησης WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");πρόγραμμα οδήγησης = νέο ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). μεγιστοποίηση ();// Φόρτωση του αρχείου ιδιοτήτωνΙδιότητες obj = νέες ιδιότητες ();FileInputStream objfile = νέο FileInputStream (System.getProperty ("user.dir") + "\\ application.properties");obj.load (objfile);// Nagigate για σύνδεση του Mobile Testing και του Backdriver.findElement (By.xpath (obj.getProperty ("MobileTesting"))). κάντε κλικ ();driver.navigate (). πίσω ();// Εισαγάγετε δεδομένα στη φόρμαdriver.findElement (By.id (obj.getProperty ("EmailTextBox"))). sendKeys (" Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.");driver.findElement (By.id (obj.getProperty ("SignUpButton"))). κάντε κλικ ();}}

Selenium WebDriver Object Repository με χρήση αρχείου XML

Το XML σημαίνει Extensible Markup Language. Ένα αρχείο XML χρησιμοποιεί το μοντέλο αντικειμένου εγγράφου (DOM) ως βασική δομή. Η μορφή αρχείου XML θα αναπαράγει τη μορφή HTML στην οποία έχει δημιουργηθεί η ιστοσελίδα. Παρακάτω είναι η λίστα των θεμάτων που θα καλυφθούν.

  • Δημιουργία αρχείου XML σε έκλειψη
  • Αποθήκευση δεδομένων σε αρχείο XML
  • Ανάγνωση δεδομένων από αρχείο XML
  • Χρήση αρχείου XML σε δοκιμαστικά σενάρια

Βήμα 1) Δημιουργία αρχείου XML σε έκλειψη

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

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

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

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

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

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

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

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

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

 // a [text () = 'MOBILE TESTING']  philadelphia-field-email  philadelphia-field-submit 

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

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

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

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

  • jaxen.jar
  • dom4j-1.6.jar

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

File inputFile = νέο αρχείο (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = νέο SAXReader ();Έγγραφο εγγράφου = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// μενού / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// μενού / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();

3. Αρχικά, πρέπει να δημιουργήσουμε ένα αντικείμενο αρχείου και να το περάσουμε ως παράμετρο στη μέθοδο «ανάγνωσης» της κλάσης SAXReader. Μόλις τα δεδομένα αρχείου XML διαβαστούν επιτυχώς, μπορούμε να έχουμε πρόσβαση σε μεμονωμένους κόμβους του εγγράφου XML χρησιμοποιώντας τη μέθοδο 'selectSingleNode'.

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

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

driver.findElement (By.xpath (mobileTesting)). κάντε κλικ στο ();driver.findElement (By.id (emailTextBox)). sendKeys (" Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.");driver.findElement (By.id (signUpButton)). κάντε κλικ στο ();

Ο παρακάτω κώδικας δείχνει τη χρήση του αρχείου XML στο Selenium WebDriver

πακέτο com.objectrepository.demo;εισαγωγή java.io. *;εισαγωγή java.util. *;εισαγωγή org.dom4j. *;εισαγωγή org.dom4j.io.SAXReader;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;δημόσια τάξη DemoORXML {public static void main (String [] args) ρίχνει DocumentException {// Δημιουργία παρουσίας WebDriverΠρόγραμμα οδήγησης WebDriver;System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");πρόγραμμα οδήγησης = νέο ChromeDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");driver.manage (). window (). μεγιστοποίηση ();// Ανάγνωση αρχείου XMLFile inputFile = νέο αρχείο (System.getProperty ("user.dir") + "\\ properties.xml");SAXReader saxReader = νέο SAXReader ();Έγγραφο εγγράφου = saxReader.read (inputFile);String mobileTesting = document.selectSingleNode ("// μενού / mobiletesting"). GetText ();String emailTextBox = document.selectSingleNode ("// μενού / email"). GetText ();String signUpButton = document.selectSingleNode ("// menu / signup"). GetText ();// Πλοήγηση στο Mobile Testing και πίσωdriver.findElement (By.xpath (mobileTesting)). κάντε κλικ στο ();driver.navigate (). πίσω ();// Εισαγωγή δεδομένων φόρμαςdriver.findElement (By.id (emailTextBox)). sendKeys (" Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου προστατεύεται από κακόβουλη χρήση. Χρειάζεται να ενεργοποιήσετε τη JavaScript για να τη δείτε.");driver.findElement (By.id (signUpButton)). κάντε κλικ στο ();}}

Κατεβάστε το έργο WebDriver Eclipse

Περίληψη:

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