Πώς να επιλέξετε μια τιμή από ένα αναπτυσσόμενο μενού στο Selenium WebDriver



Αυτό το άρθρο σάς βοηθά να κατανοήσετε τι είναι μια τάξη Select στο Selenium WebDriver και επίσης πώς να επιλέξετε μια τιμή από μια αναπτυσσόμενη λίστα στο Selenium WebDriver

Για να εκτελέσετε οποιαδήποτε ενέργεια, η πρώτηέργο που πρέπει να κάνετε είναι να προσδιορίσετε την ομάδα στοιχείων. Γενικά, ενώ εργάζεστε με , ίσως χρειαστεί να επιλέξετε ορισμένες τιμές από την αναπτυσσόμενη λίστα και επίσης να εκτελέσετε άλλες δραστηριότητες και να τις επικυρώσετε. Έτσι, θα σας καθοδηγήσω για να κατανοήσετε τι είναι μια τάξη Select στο Selenium WebDriver και πώς να το κάνετε Επιλέγω μια τιμή από μια αναπτυσσόμενη λίστα στο Selenium WebDriver.

Θα συζητήσω αυτό το θέμα με αυτήν τη σειρά:





Ας ξεκινήσουμε λοιπόν.

Επιλέξτε τάξη στο Selenium WebDriver

ο Επιλέγω η τάξη είναι ένα κλάση που παρέχει βασικά την εφαρμογή της ετικέτας SELECT HTML. Μια ετικέτα Select παρέχει στις βοηθητικές μεθόδους επιλογές επιλογής και αποεπιλογής. Αυτή η τάξη βρίσκεται κάτω Υποστήριξη Selenium.UI. Επιλέξτε πακέτο. Το Select είναι στην πραγματικότητα μια συνηθισμένη τάξη, οπότε το αντικείμενο δημιουργείται επίσης από τη λέξη-κλειδί Νέος και επίσης καθορίζει τη θέση του στοιχείου ιστού.



Σύνταξη:

Επιλογή oSelect = νέο Επιλογή ()

Θα εμφανίσει ένα σφάλμα ζητώντας να προσθέσετε επιχειρήματα στην εντολή. Ορίστε λοιπόν την τοποθεσία του στοιχείου ιστού χρησιμοποιώντας το .

Δηλώνει σαφώς ότι Επιλέγω ζητά ένα αντικείμενο τύπου στοιχείου για τον κατασκευαστή του.



Μετά από αυτό,Μόλις λάβετε το αντικείμενο του SELECT τάξη , μπορείτε να αποκτήσετε πρόσβαση σε όλες τις μεθόδους που βρίσκονται στο ΕΠΙΛΕΓΩ τάξη πληκτρολογώντας oΕπιλέξτε + κουκκίδα που θα παρέχει όλες τις μεθόδους στην κατηγορία Select. Επιλέξτε οποιαδήποτε μέθοδο σύμφωνα με τη δοκιμαστική σας υπόθεση.

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

Επιλέξτε τάξη στο Selenium WebDriver: Διαφορετικές εντολές Select

Ακολουθούν οι πιο συχνά χρησιμοποιούμενες μέθοδοι για την αντιμετώπιση της αναπτυσσόμενης λίστας.

ένας. selectByVisibleText: selectByVisibleText (String arg0): άκυρο

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

Σύνταξη: oSelect.selectByVisibleText ('κείμενο')

Παράδειγμα:

τι κάνει ένας διαχειριστής linux
Επιλέξτε oSelect = νέο Select (driver.findElement (By.id ('search-box'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): άκυρο

Αυτή η μέθοδος είναι σχεδόν παρόμοια με το 'selectByVisibleText', αλλά η μόνη διαφορά εδώ είναι ότι ο χρήστης πρέπει να παρέχει τον αριθμό ευρετηρίου για την επιλογή και όχι το κείμενο επιλογής. Παίρνει την ακέραια παράμετρο που είναι η τιμή ευρετηρίου του Επιλογή στοιχείου και δεν επιστρέφει τίποτα.

Synatx: oSelect.selectByIndex (int)

Παράδειγμα:

Επιλέξτε oSelect = νέο Select (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): άκυρο

Αυτή η μέθοδος είναι πάλι παρόμοια με αυτό που έχω συζητήσει νωρίτερα, η μόνη διαφορά σε αυτήν τη μέθοδο, είναι ότι ζητά την τιμή της επιλογής και όχι το κείμενο επιλογής ή ένα ευρετήριο. Παίρνει μια παράμετρο String που είναι μία από τις τιμές του Επιλογή στοιχείου και δεν επιστρέφει τίποτα.

Σύνταξη: oSelect.selectByValue ('κείμενο')

Παράδειγμα:

Επιλέξτε oSelect = νέο Select (driver.findElement (By.id ('Search-box'))) oSelect.selectByValue ('Εκπαίδευση πιστοποίησης Selenium')

Τέσσερις. getOptions: getOptions (): Λίστα

Αυτή η μέθοδος βοηθά στη λήψη όλων των επιλογών που ανήκουν στην ετικέτα Select. Δεν παίρνει καμία παράμετρο και επιστρέφει Λίστα .

Σύνταξη: oSelect.getOptions ()

Παράδειγμα:

Επιλέξτε oSelect = new Select (driver.findElement (By.id ('Search-box'))) List elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Ας προχωρήσουμε λοιπόν στο επόμενο θέμα και μάθετε για τις μεθόδους πολλαπλής επιλογής

Επιλέξτε τάξη στο Selenium WebDriver: Πώς λειτουργεί η εντολή Multiple SELECT;

Το χαρακτηριστικό πολλαπλής επιλογής είναι μια δυαδική έκφραση. Όταν υπάρχει, καθορίζει ότι μπορούν να επιλεγούν πολλές επιλογές ταυτόχρονα. Αυτές οι επιλογές διαφέρουν για διαφορετικά λειτουργικά συστήματα και προγράμματα περιήγησης, συγκεκριμένα:

  • Για Windows: Κρατήστε πατημένο το κουμπί ελέγχου (ctrl) για να ορίσετε πολλές επιλογές.
  • Για Mac: Κρατήστε πατημένο το κουμπί εντολής για να ορίσετε πολλές επιλογές.

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

python μετατρέψτε τον αριθμό σε δυαδικό

είναι Πολλαπλές

isMultiple (): boolean - Αυτή η μέθοδος λέει αν το στοιχείο SELECT υποστηρίζει πολλές επιλογές ταυτόχρονα ή όχι. Αυτή η μέθοδος δεν δέχεται τίποτα, αλλά επιστρέφει μια δυαδική τιμή (true / false).

Σύνταξη: oSelect.isMultiple ()

Παράδειγμα:

Επιλέξτε oSelect = new Select (driver.findElement (By.id (Element_ID)) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Ή μπορεί να χρησιμοποιηθεί ως oSelect.selectByVisibleText (κείμενο) oSelect.selectByVisibleText (text) / Ή μπορεί να χρησιμοποιηθεί ως oSelect.selectByValue (τιμή) oSelect.selectByValue (τιμή)

Επιλέξτε τάξη στο Selenium WebDriver: DeSelect μεθόδους

Όταν επιλέγετε ένα συγκεκριμένο στοιχείο στην ιστοσελίδα, υπάρχουν μερικές μέθοδοι που θα σας βοηθήσουν να αποεπιλέξετε αυτό το στοιχείο. Αλλά η μόνη πρόκληση σε αυτές τις μεθόδους είναι ότι δεν λειτουργούν DropDown και δουλεύω μόνο για Πολλαπλή επιλογή στοιχεία.

Σε περίπτωση που θέλετε να αποεπιλέξετε οποιαδήποτε προεπιλεγμένη επιλογή, αυτό μπορεί να γίνει με οποιοδήποτε από τα δύο

  • αποεπιλογή όλων ()
  • αποεπιλογήByIndex
  • αποεπιλογήByValue
  • αποεπιλογήByVisibletext

Ας κατανοήσουμε λεπτομερώς τις μεθόδους.

  • αποεπιλογή όλων (): Διαγράφει όλες τις επιλεγμένες καταχωρήσεις. Αυτό ισχύει μόνο όταν το αναπτυσσόμενο στοιχείο υποστηρίζει πολλές επιλογές.

Παράδειγμα: oΕπιλέξτε. αποεπιλογή όλων ()

pmi-acp αξίζει τον κόπο
  • deselectByIndex (): Τοαποεπιλέγει την επιλογή στο δεδομένο ευρετήριο.

Παράδειγμα: oΕπιλέξτε. deselectByIndex (2)

  • deselectByValue (): Αυτή η μέθοδος βοηθά στην αποεπιλογή της επιλογής του οποίου ' αξία Το χαρακτηριστικό αντιστοιχεί στη συγκεκριμένη παράμετρο.

Παράδειγμα: oΕπιλέξτε. deselectByValue ('13')

  • deselectByVisibletext (): Αυτή η μέθοδος βοηθά στην αποεπιλογή της επιλογής που εμφανίζει το κείμενο που ταιριάζει με την παράμετρο.

Επιλογή τάξης στο Selenium WebDriver: Πώς να ορίσετε μια επιλογή από το αναπτυσσόμενο μενού;

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

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

  • Αρχικά, προσθέστε τις βιβλιοθήκες Java στο σύστημά σας.
  • Ένα IDE όπου μπορείτε να γράψετε το κομμάτι του κώδικα. Θα εξετάσω το ενδεχόμενο να δουλέψω στο Eclipse IDE καθώς είναι φιλικό προς τον χρήστη.
  • Προσθέστε Selenium βιβλιοθήκες στο έργο.
  • Λάβετε τη διεύθυνση URL της ιστοσελίδας.
  • Εκτελέστε τις επιθυμητές ενέργειες στην αναπτυσσόμενη λίστα.

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

  • Πρώτα, ορίστε το .
  • Λάβετε τη διεύθυνση URL του Facebook .
  • Δημιουργώ ένα αντικείμενο και βρείτε το στοιχείο χρησιμοποιώντας τους εντοπιστές στοιχείων.
  • Επιλέξτε το αντικείμενο του WebElement χρησιμοποιώντας τις μεθόδους Select.
  • Κλείστε την εκτέλεση του προγράμματος οδήγησης.

Ανατρέξτε σε αυτόν τον κωδικό:

πακέτο Edurekaa import org.junit. Δοκιμή εισαγωγής org.openqa.selenium. Με εισαγωγή org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui. Επιλέξτε δημόσια τάξη SelectClass {@Test public static void main (String [] args) ρίχνει το InterruptException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = νέο ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximize () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Select oSelect = new Select (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (Από .id ('year')) Select year_y = new Select (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('μήνας')) Sele ct month_d1 = νέο Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

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

  • Δημιουργήστε μια λίστα WebElements και ορίστε τις επιλογές.
  • Λάβετε το μέγεθος του αναπτυσσόμενου μήνα.
  • Εκτυπώστε το μέγεθος της λίστας μηνών.
  • Δημιουργήστε ένα άλλο αντικείμενο του WebElement το και πάρτε το όνομα του μήνα.
  • Εκτυπώστε τον αριθμό χρησιμοποιώντας ένα βρόχο για.
  • Κλείστε την εκτέλεση του προγράμματος οδήγησης.
πακέτο Edurekaa import java.util. Λίστα εισαγωγής org.junit. Δοκιμή εισαγωγής org.openqa.selenium. Με εισαγωγή org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa .selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui. Επιλέξτε δημόσια τάξη SelectClass2 {@Test public static void main (String [] args) ρίχνει το InterruptException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') Πρόγραμμα οδήγησης WebDriver = νέο ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) πρόγραμμα οδήγησης driver.get (' http://www.facebook.com ') driver.manage (). Window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Select oSelect = new Select (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getO ) int total_month = month_list.size () System.out.println ('Total count is' + total_month) για (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Months are' + month_name)} driver.quit ()}}

Τώρα με αυτό, καταλήγουμε σε αυτό το ιστολόγιο «Πώς να επιλέξετε από ένα αναπτυσσόμενο μενού στο Selenium WebDriver». Ελπίζω να απολαύσατε αυτό το άρθρο και να καταλάβετε πώς λειτουργεί το Select class στο Σελήνιο.

Τώρα που έχετε καταλάβει πώς να επιλέξετε μια τιμή από μια αναπτυσσόμενη λίστα χρησιμοποιώντας το Selenium, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης με δίκτυο περισσότερων από 650.000 ικανοποιημένων εκπαιδευόμενων σε όλο τον κόσμο. Αυτό το μάθημα έχει σχεδιαστεί για να σας παρουσιάσει τις πλήρεις δυνατότητες του Selenium και τη σημασία του στο λογισμικό δοκιμών.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων του 'Πώς να επιλέξετε από ένα αναπτυσσόμενο μενού στο Selenium WebDriver' και θα επικοινωνήσουμε μαζί σας.