Γιατί χρειάζεστε την εντολή Find Element / s;
Η αλληλεπίδραση με μια ιστοσελίδα απαιτεί από τον χρήστη να εντοπίσει το στοιχείο ιστού. Η εντολή Find Element χρησιμοποιείται για τον μοναδικό προσδιορισμό ενός (ενός) στοιχείου ιστού μέσα στην ιστοσελίδα. Ενώ, η εντολή Find Elements χρησιμοποιείται για τον μοναδικό προσδιορισμό της λίστας στοιχείων ιστού μέσα στην ιστοσελίδα. Υπάρχουν πολλοί τρόποι για τον μοναδικό προσδιορισμό ενός στοιχείου ιστού εντός της ιστοσελίδας, όπως αναγνωριστικό, όνομα, όνομα κλάσης, κείμενο συνδέσμου, κείμενο μερικού συνδέσμου, όνομα ετικέτας και XPATH.
Σύνταξη εντολής FindElement:
Η εντολή Selenium Find Element λαμβάνει το αντικείμενο By ως παράμετρο και επιστρέφει ένα αντικείμενο της λίστας τύπου WebElement στο Selenium. Με αντικείμενο με τη σειρά του μπορεί να χρησιμοποιηθεί με διάφορες στρατηγικές εντοπισμού, όπως το στοιχείο εύρεσης με ID Selenium, Όνομα, Όνομα κλάσης, XPATH κ.λπ. Ακολουθεί η σύνταξη της εντολής FindElement στο πρόγραμμα οδήγησης ιστού Selenium.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Η στρατηγική εντοπισμού μπορεί να είναι οποιαδήποτε από τις ακόλουθες τιμές.
- ταυτότητα
- Στοιχείο εύρεσης σεληνίου με όνομα
- Ονομα τάξης
- Όνομα ετικέτας
- Κείμενο συνδέσμου
- Κείμενο μερικής σύνδεσης
- XPATH
Το Locator Value είναι η μοναδική τιμή χρησιμοποιώντας την οποία μπορεί να αναγνωριστεί ένα στοιχείο ιστού. Είναι ευθύνη των προγραμματιστών και των υπεύθυνων δοκιμών να διασφαλίσουν ότι τα στοιχεία ιστού είναι μοναδικά αναγνωρίσιμα χρησιμοποιώντας συγκεκριμένες ιδιότητες, όπως αναγνωριστικό ή όνομα.
Παράδειγμα:
WebElement loginLink = driver.findElement (By.linkText ("Σύνδεση"));
Σύνταξη εντολής FindElements:
Η εντολή FindElements in Selenium λαμβάνει By αντικείμενο ως παράμετρο και επιστρέφει μια λίστα στοιχείων web. Επιστρέφει μια κενή λίστα εάν δεν υπάρχουν στοιχεία που να χρησιμοποιούν τη δεδομένη στρατηγική εντοπισμού και την τιμή εντοπισμού. Παρακάτω είναι η σύνταξη της εντολής εύρεσης στοιχείων.
ΛίσταelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Παράδειγμα:
ΛίσταlistOfElements = driver.findElements (By.xpath ("// div"));
Εύρεση στοιχείου Vs Εύρεση στοιχείων
Ακολουθούν οι σημαντικές διαφορές μεταξύ εντολών εύρεσης στοιχείου και εύρεσης στοιχείων
Βρείτε το στοιχείο | Βρείτε στοιχεία |
---|---|
Επιστρέφει το πρώτο στοιχείο ιστού εάν υπάρχουν πολλά στοιχεία ιστού με τον ίδιο εντοπιστή | Επιστρέφει μια λίστα στοιχείων ιστού |
Ρίχνει την εξαίρεση NoSuchElementException εάν δεν υπάρχουν στοιχεία που να ταιριάζουν με τη στρατηγική εντοπισμού | Επιστρέφει μια κενή λίστα εάν δεν υπάρχουν στοιχεία ιστού που να ταιριάζουν με τη στρατηγική εντοπισμού |
Εύρεση στοιχείου από το XPath θα βρει μόνο ένα στοιχείο ιστού | Θα βρει μια συλλογή στοιχείων που ταιριάζουν με τη στρατηγική εντοπισμού. |
Δεν εφαρμόζεται | Κάθε στοιχείο Web ευρετηριάζεται με έναν αριθμό που ξεκινά από το 0 ακριβώς όπως ένας πίνακας |
Παράδειγμα: Τρόπος χρήσης της εντολής Εύρεση στοιχείου
Η ακόλουθη εφαρμογή χρησιμοποιείται για επίδειξη
http://demo.guru99.com/test/ajax.html
Σενάριο:
1. Ανοίξτε το AUT
2. Βρείτε και κάντε κλικ στο κουμπί επιλογής
πακέτο com.sample.stepdefinitions;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;δημόσια τάξη NameDemo {Δημόσιο στατικό κενό (String [] args) {// TODO Αυτόματο δημιουργημένο στέλεχος μεθόδουSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver ();driver.manage (). window (). μεγιστοποίηση ();driver.get ("http://demo.guru99.com/test/ajax.html");// Βρείτε το κουμπί επιλογής για "Όχι" χρησιμοποιώντας το αναγνωριστικό του και κάντε κλικ σε αυτόdriver.findElement (By.id ("όχι")). κάντε κλικ στο ();// Κάντε κλικ στο κουμπί ελέγχουdriver.findElement (By.id ("buttoncheck")). κάντε κλικ στο ();}}
Παράδειγμα: Τρόπος χρήσης της εντολής Εύρεση στοιχείων
Σενάριο:
1. Ανοίξτε τη διεύθυνση URL για δοκιμή εφαρμογής
2. Βρείτε το κείμενο των κουμπιών επιλογής και εκτυπώστε το στην κονσόλα εξόδου
πακέτο com.sample.stepdefinitions;εισαγωγή java.util.List;εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.WebElement;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;δημόσια τάξη NameDemo {Δημόσιο στατικό κενό (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Λίσταστοιχεία = driver.findElements (By.name ("name"));System.out.println ("Αριθμός στοιχείων: + element.size ());για (int i = 0; i Περίληψη:
- Η εντολή Find Element επιστρέφει το στοιχείο ιστού που ταιριάζει με το πρώτο στοιχείο της ιστοσελίδας.
- Η εντολή Find Elements επιστρέφει μια λίστα στοιχείων ιστού που ταιριάζουν με τα κριτήρια.
- Εύρεση Element by XPath στην εντολή Selenium ρίχνει το NoSuchElementException εάν δεν βρει το στοιχείο που να ταιριάζει με τα κριτήρια.
- Η εντολή Find Elements επιστρέφει μια κενή λίστα στο Selenium εάν δεν υπάρχουν στοιχεία που να ταιριάζουν με τα κριτήρια