usage selenium select class
Στο προηγούμενο σεμινάριο, μελετήσαμε σχετικά με τους διάφορους τύπους δηλώσεων επιβεβαίωσης που διατίθενται στο πλαίσιο δοκιμών μονάδας που βασίζεται σε Java και τις εφαρμογές τους με δείγματα. Επαναλαμβάνω το γεγονός ότι ως 'Μηχανικός δοκιμών αυτοματισμού', οι ισχυρισμοί παίζουν πολύ αποφασιστικό και σημαντικό ρόλο στην ανάπτυξη δοκιμαστικών σεναρίων.
Προχωρώντας με τα λίγα επερχόμενα σεμινάρια στη σειρά Selenium, θα επικεντρωθούμε χειρισμός των διαφόρων τύπων στοιχείων ιστού που διατίθενται στις ιστοσελίδες . Επομένως, σε αυτό το σεμινάριο, θα εξετάζαμε 'Dropdowns' και ασκήστε τις στρατηγικές χειρισμού τους .
χειροκίνητες και αυτοματοποιημένες ερωτήσεις συνέντευξης
Πριν προχωρήσουμε προς τη δήλωση προβλημάτων και την επίλυσή του, ας αφιερώσουμε λίγο χρόνο για να εισαγάγουμε και να δημιουργήσουμε μια κατανόηση σχετικά με την υπό δοκιμή εφαρμογή. Ως δείγμα, δημιουργήσαμε ένα πλαστή σελίδα HTML που αποτελείται από πολλά και διάφορα στοιχεία ιστού.
Τα στοιχειώδη στοιχεία ιστού που αποτελούν την ιστοσελίδα είναι:
- Υπερσύνδεσμος
- Κουμπί
- Αναπτυσσόμενο μενού
Ανατρέξτε στην παρακάτω ιστοσελίδα που προαναφέρθηκε:
Τι θα μάθετε:
- Επεξήγηση της εφαρμογής υπό δοκιμή
- Σενάριο που θα αυτοματοποιηθεί
- Κωδικός WebDriver χρησιμοποιώντας Selenium Select Class
- Περιήγηση κώδικα
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Επεξήγηση της εφαρμογής υπό δοκιμή
Έχουμε σχεδιάσει την ιστοσελίδα με τρόπο που να περιλαμβάνει μερικούς βασικούς τύπους στοιχείων ιστού.
- Υπερσύνδεσμος : Έχουν παρασχεθεί οι δύο υπερσύνδεσμοι, δηλαδή 'Google' και 'abodeQA', οι οποίοι κατευθύνουν εκ νέου τον χρήστη σε 'https://www.google.co.in/' και 'http://www.abodeqa.com/' αντίστοιχα στο συμβάν κλικ.
- Αναπτυσσόμενο μενού : Τα τρία αναπτυσσόμενα μενού έχουν δημιουργηθεί για την επιλογή χρωμάτων, φρούτων και ζώων με τιμή που έχει ήδη οριστεί στην προεπιλογή.
- Κουμπί : Δημιουργήθηκε ένα κουμπί 'δοκιμάστε το' για να εμφανιστεί το αναδυόμενο πλαίσιο με το κουμπί Ok και Cancel στο συμβάν κλικ.
Στη συνέχεια είναι ο κώδικας HTML που χρησιμοποιείται για τη δημιουργία της παραπάνω ιστοσελίδας:
Testing Select Class Red Green Yellow Grey Apple Orange Mango Lime Select Elephant Mouse Dog Click the button to display a confirm box.
Try it function myFunction() { confirm('Press a button!'); }
Σενάριο που θα αυτοματοποιηθεί
- Εκκινήστε το πρόγραμμα περιήγησης ιστού και ανοίξτε την ιστοσελίδα
- Κάντε κλικ στον υπερσύνδεσμο 'Google'
- Πλοηγηθείτε πίσω στην αρχική ιστοσελίδα
- Επιλέξτε το αναπτυσσόμενο χρώμα 'Πράσινο'
- Επιλέξτε το 'Πορτοκαλί' στο αναπτυσσόμενο μενού των φρούτων
- Επιλέξτε το 'Elephant' στο αναπτυσσόμενο μενού του ζώου
Κωδικός WebDriver χρησιμοποιώντας Selenium Select Class
Σημειώστε ότι, για τη δημιουργία σεναρίων, θα χρησιμοποιούσαμε το έργο 'Learning_Selenium' που δημιουργήθηκε στο προηγούμενο σεμινάριο.
Βήμα 1: Δημιουργήστε μια νέα τάξη java που ονομάζεται 'HandlingDropDown' κάτω από το έργο 'Learning_Selenium'.
Βήμα 2: Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στην κλάση 'HandlingDropDown.java'.
Ακολουθεί το δοκιμαστικό σενάριο που είναι ισοδύναμο με το παραπάνω σενάριο:
import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; /** * class description */ public class HandlingDropDown { WebDriver driver; /** * Set up browser settings and open the application */ @Before public void setUp() { driver=new FirefoxDriver(); // Opened the application driver.get('file:///F:/Work/Blogs/testingstuff/DemoWebAlert.html'); driver.manage().window().maximize(); } /** * Test to select the dropdown values * @throws InterruptedException */ @Test public void testSelectFunctionality() throws InterruptedException { // Go to google driver.findElement(By.linkText('Google')).click(); // navigate back to previous webpage driver.navigate().back(); Thread.sleep(5000); // select the first operator using 'select by value' Select selectByValue = new Select(driver.findElement(By.id('SelectID_One'))); selectByValue.selectByValue('greenvalue'); Thread.sleep(5000); // select the second dropdown using 'select by visible text' Select selectByVisibleText = new Select (driver.findElement(By.id('SelectID_Two'))); selectByVisibleText.selectByVisibleText('Lime'); Thread.sleep(5000); // select the third dropdown using 'select by index' Select selectByIndex = new Select(driver.findElement(By.id('SelectID_Three'))); selectByIndex.selectByIndex(2); Thread.sleep(5000); } /** * Tear down the setup after test completes */ @After public void tearDown() { driver.quit(); } }
Περιήγηση κώδικα
Εισαγωγικές δηλώσεις
- εισαγωγή οργ. openqa.selenium.support.ui. Επιλέξτε - Εισαγάγετε αυτό το πακέτο πριν από τη δημιουργία σεναρίου. Το πακέτο αναφέρεται στην κατηγορία Select που απαιτείται για τον χειρισμό του αναπτυσσόμενου μενού.
Αντιστοίχιση αντικειμένων για κλάση Select
Επιλέξτε selectByValue = νέο Select (driver.findElement (By.id ('SelectID_One')));
Δημιουργούμε μια μεταβλητή αναφοράς για την κατηγορία Select και την εγκαθιστούμε χρησιμοποιώντας την κατηγορία Select και το αναγνωριστικό για το αναπτυσσόμενο μενού.
Το αναγνωριστικό ή η τιμή εντοπισμού για το αναπτυσσόμενο μενού μπορεί να βρεθεί χρησιμοποιώντας τις τεχνικές που συζητήθηκαν στα αρχικά σεμινάρια (χρησιμοποιώντας το Selenium IDE και το firebug).
Λάβετε υπόψη ότι το αναγνωριστικό για ένα αναπτυσσόμενο μενού μπορεί να βρεθεί όπως παρακάτω:
Βήμα 1: Τα περισσότερα ή σχεδόν όλα τα αναπτυσσόμενα στοιχεία ορίζονται στην ετικέτα με πολλές τιμές (τιμές που μπορούν να οριστούν στο αναπτυσσόμενο μενού) που ορίζονται κάτω από τις ετικέτες.
Ορισμός της τιμής στο αναπτυσσόμενο μενού χρησιμοποιώντας selectByValue () μέθοδος
selectByValue.selectByValue ('greenvalue');
Στην παραπάνω εντολή java, επιλέγουμε την τιμή 'πράσινο' στο αναπτυσσόμενο μενού χρησιμοποιώντας το selectByValue () μέθοδο και παραμετροποίηση με το κείμενο που υπάρχει στο χαρακτηριστικό τιμή.
Ορισμός της τιμής στο αναπτυσσόμενο μενού χρησιμοποιώντας τη μέθοδο selectByVisibleText ()
selectByValue.selectByVisibleText ('Lime');
Στην παραπάνω εντολή java, επιλέγουμε την τιμή 'Lime' στο αναπτυσσόμενο μενού χρησιμοποιώντας το selectByVisibleText () μέθοδο και παραμετροποίηση με το κείμενο που υπάρχει στο περιβάλλον χρήστη ή το κείμενο που υπάρχει μεταξύ των ετικετών ανοίγματος και κλεισίματος.
Ορισμός της τιμής στο αναπτυσσόμενο μενού χρησιμοποιώντας selectByIndex () μέθοδος
selectByValue.selectByIndex ('2');
Στην παραπάνω εντολή java, επιλέγουμε την τρίτη τιμή στο αναπτυσσόμενο μενού χρησιμοποιώντας το selectByIndex () μέθοδο και παραμετροποίηση του με την τιμή ευρετηρίου του στοιχείου που επιθυμείται να επιλεγεί στο αναπτυσσόμενο μενού.
Σημειώστε ότι η τιμή ευρετηρίου ξεκινά με '0'.
συμπέρασμα
Σε αυτό το σεμινάριο, προσπαθήσαμε να σας εξοικειώσουμε με την κλάση Select του WebDriver που χρησιμοποιείται για τον χειρισμό αναπτυσσόμενων στοιχείων που υπάρχουν στην ιστοσελίδα. Σας ενημερώσαμε επίσης για τις μεθόδους που μπορούν να χρησιμοποιηθούν για τη συμπλήρωση της τιμής στο αναπτυσσόμενο μενού.
Εδώ είναι η περίληψη του άρθρου:
- Η κλάση Select του WebDriver χρησιμοποιείται για τον χειρισμό των αναπτυσσόμενων στοιχείων που υπάρχουν σε μια ιστοσελίδα.
- Πριν από την πραγματική δέσμη ενεργειών, πρέπει να εισαγάγουμε ένα πακέτο για να μπορέσουμε να δημιουργήσουμε ένα σενάριο WebDriver για το χειρισμό ενός αναπτυσσόμενου μενού και να κάνουμε την κατηγορία Select προσβάσιμη.
- εισαγωγή οργ. openqa.selenium.support.ui. Επιλέξτε;
- Δημιουργούμε μια μεταβλητή αναφοράς για την κατηγορία Select και την εγκαθιστούμε χρησιμοποιώντας την κατηγορία Select και το αναγνωριστικό για το αναπτυσσόμενο μενού.
- Επιλέγω selectByValue = νέο Select (driver.findElement (By.id ('SelectID_One')));
- Μπορείτε να βρείτε το αναγνωριστικό ή την τιμή εντοπισμού για την πτώση χρησιμοποιώντας το Selenium IDE και το firebug.
- Στην ιδανική περίπτωση, υπάρχουν τρεις τρόποι για να επιλέξετε την επιθυμητή τιμή στο αναπτυσσόμενο μενού μεταξύ του αναφερόμενου.
- selectByValue ()
- selectByVisibleText ()
- selectByIndex ()
- Η ακόλουθη εντολή java χρησιμοποιείται για να επιλέξετε το 'πράσινο' χρώμα στο αναπτυσσόμενο μενού. Σημειώστε ότι η τιμή στο αναπτυσσόμενο μενού επιλέγεται χρησιμοποιώντας το selectByValue ()
- selectByValue ('πράσινη τιμή');
- Η ακόλουθη εντολή java χρησιμοποιείται για να επιλέξετε το φρούτο 'Lime' στο αναπτυσσόμενο μενού. Σημειώστε ότι η τιμή στο αναπτυσσόμενο μενού επιλέγεται χρησιμοποιώντας το selectByVisibleText ()
- selectByVisibleText ('Lime');
- Η ακόλουθη εντολή java χρησιμοποιείται για την επιλογή της τρίτης τιμής μεταξύ όλων των διαθέσιμων επιλογών που περιλαμβάνονται στο αναπτυσσόμενο μενού. Σημειώστε ότι η τιμή στο αναπτυσσόμενο μενού επιλέγεται χρησιμοποιώντας το selectByIndex ()
- selectByIndex ('2');
Επόμενο σεμινάριο # 14 : Στο επερχόμενο σεμινάριο, θα συζητούσαμε για διάφορους τύπους εντολών στο WebDriver όπως isSelected (), isEnabled () και isDispalyed () αυτοί επιστρέφουν μια τιμή Boolean έναντι της παρουσίας ενός καθορισμένου στοιχείου ιστού.
Μέχρι τότε, μείνετε συντονισμένοι και αυτοματοποιήστε το αναπτυσσόμενο μενού χρησιμοποιώντας το βοηθητικό πρόγραμμα WebDriver - 'Select class'.
Συνιστώμενη ανάγνωση
- Πώς να εντοπίσετε στοιχεία στο πρόγραμμα περιήγησης Chrome και IE για τη δημιουργία σεναρίων Selenium - Σεμινάριο Tutorial # 7
- Cucumber Selenium Tutorial: Αγγούρι Java Selenium WebDriver Integration
- Ελέγξτε την ορατότητα των στοιχείων Web χρησιμοποιώντας διάφορους τύπους εντολών WebDriver - Selenium Tutorial # 14
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Εισαγωγή στο Selenium WebDriver - Selenium Tutorial # 8
- Τρόπος χρήσης του CSS Selector για τον προσδιορισμό στοιχείων Web για σενάρια Selenium - Selenium Tutorial # 6
- Αποτελεσματικά σενάρια Selenium και Αντιμετώπιση προβλημάτων - Σελήνιο Σεμινάριο # 27
- Αποσφαλμάτωση σεναρίων σεληνίου με αρχεία καταγραφής (Tutorial Log4j) - Σεμινάριο σεμινάριο # 26