Come selezionare un valore da un menu a discesa in Selenium WebDriver



Questo articolo ti aiuta a capire cos'è una classe Select in Selenium WebDriver e anche come selezionare un valore da un elenco a discesa in Selenium WebDriver

Per eseguire qualsiasi azione, la primacompito da fare è identificare il gruppo di elementi. In genere, mentre si lavora con , potrebbe essere necessario selezionare alcuni valori dall'elenco a discesa ed eseguire anche altre attività e convalidarli. Quindi, ti guiderò nella comprensione di cos'è una classe Select in Selenium WebDriver e come farlo Selezionare un valore da un elenco a discesa in Selenium WebDriver.

Discuterò questo argomento in questo ordine:





Quindi, iniziamo.

Seleziona la classe in Selenium WebDriver

Il Selezionare class è un classe che fondamentalmente fornisce l'implementazione del tag HTML SELECT. Un tag Select fornisce ai metodi di supporto le opzioni di selezione e deselezione. Questa classe può essere trovata sotto Selenium's Support.UI.Select pacchetto. Select è in realtà una classe ordinaria, quindi anche il suo oggetto viene creato dalla parola chiave Nuovo e specifica anche la posizione dell'elemento web.



Sintassi:

Seleziona o Seleziona = nuovo Seleziona ()

Verrà visualizzato un errore che chiede di aggiungere argomenti al comando. Quindi specifica la posizione dell'elemento web utilizzando il .

Lo afferma chiaramente Selezionare sta chiedendo un oggetto di tipo elemento per il suo costruttore.



Dopodichè,una volta ottenuto l'oggetto del file SELEZIONA Classe , puoi accedere a tutti i metodi che risiedono nel file SELEZIONARE classe digitando o Seleziona + punto che fornirà tutti i metodi sotto la classe Select. Scegli qualsiasi metodo in base al tuo caso di test.

Quindi, ora andiamo avanti per conoscere i diversi metodi in questa classe Select.

Seleziona la classe in Selenium WebDriver: Diversi comandi di selezione

Di seguito sono riportati i metodi più comunemente utilizzati per gestire l'elenco a discesa.

uno. selectByVisibleText: selectByVisibleText (String arg0): void

È molto facile scegliere o selezionare un'opzione fornita sotto qualsiasi menu a discesa e più caselle di selezione con questo metodo. Prende un parametro di String che è uno dei valore di Seleziona elemento e non restituisce nulla.

Sintassi: oSelect.selectByVisibleText ('text')

Esempio:

Seleziona oSelect = new Seleziona (driver.findElement (By.id ('casella di ricerca'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): void

Questo metodo è quasi simile a 'selectByVisibleText', ma l'unica differenza qui è che l'utente deve fornire il numero di indice per l'opzione piuttosto che il testo dell'opzione. Accetta il parametro intero che è il valore di indice di Seleziona elemento e non restituisce nulla.

Synatx: oSelect.selectByIndex (int)

Esempio:

Seleziona oSelect = new Seleziona (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): void

Anche questo metodo è simile a quello che ho discusso in precedenza, l'unica differenza in questo metodo è che richiede il valore dell'opzione piuttosto che il testo dell'opzione o un indice. Accetta un parametro String che è uno dei valori di Seleziona elemento e non restituisce nulla.

Sintassi: oSelect.selectByValue ('text')

Esempio:

Select oSelect = new Select (driver.findElement (By.id ('Search-box'))) oSelect.selectByValue ('Selenium Certification training')

Quattro. getOptions: getOptions (): elenco

come scrivere un metodo tostring in java

Questo metodo aiuta a ottenere tutte le opzioni che appartengono al tag Select. Non accetta parametri e restituisce Elenco .

Sintassi: oSelect.getOptions ()

Esempio:

Select oSelect = new Select (driver.findElement (By.id ('Search-box'))) List elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Quindi, passiamo all'argomento successivo e scopriamo i metodi di selezione multipla

Seleziona la classe in Selenium WebDriver: Come funziona il comando SELEZIONE multipla?

L'attributo di selezione multipla è un'espressione booleana. Quando è presente, specifica che è possibile selezionare più opzioni contemporaneamente. Queste opzioni variano per diversi sistemi operativi e browser, ovvero:

  • Per Windows: Tieni premuto il pulsante di controllo (ctrl) per selezionare più opzioni.
  • Per Mac: Tenere premuto il pulsante di comando per selezionare più opzioni.

È facile utilizzare le caselle di controllo invece di utilizzare modi diversi di eseguire le operazioni perché è necessario informare l'utente che sono disponibili più selezioni. Esiste un metodo che aiuta effettivamente a specificare che è possibile utilizzare più opzioni di selezione.

isMultiple

isMultiple (): boolean - Questo metodo indica se l'elemento SELECT supporta più opzioni di selezione contemporaneamente o meno. Questo metodo non accetta nulla ma restituisce un valore booleano (vero / falso).

Sintassi: oSelect.isMultiple ()

Esempio:

Select oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Oppure può essere usato come oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / / Oppure può essere utilizzato come oSelect.selectByValue (valore) oSelect.selectByValue (valore)

Seleziona la classe in Selenium WebDriver: metodi DeSelect

Quando selezioni un particolare elemento nella pagina web, ci sono alcuni metodi che ti aiuteranno a deselezionare quell'elemento. Ma l'unica sfida in questi metodi è che non funzionano Cadere in picchiata e lavora solo per Selezione multipla elementi.

Nel caso in cui desideri deselezionare qualsiasi opzione preselezionata, puoi farlo con entrambe

  • deselezionare tutto ()
  • deselectByIndex
  • deselectByValue
  • deselectByVisibletext

Cerchiamo di capire i metodi in dettaglio.

  • deselezionare tutto (): Cancella tutte le voci selezionate. Questo è valido solo quando l'elemento a discesa supporta più selezioni.

Esempio: oSeleziona. deselezionare tutto ()

  • deselectByIndex (): Itdeseleziona l'opzione all'indice dato.

Esempio: oSeleziona. deselectByIndex (2)

  • deselectByValue (): Questo metodo aiuta a deselezionare l'opzione il cui ' valore 'Attributo corrisponde al parametro specifico.

Esempio: oSeleziona. deselectByValue ('13')

  • deselectByVisibletext (): Questo metodo aiuta a deselezionare l'opzione che visualizza il testo corrispondente al parametro.

Seleziona una classe in Selenium WebDriver: come selezionare un'opzione dal menu a discesa?

Vi aiuterò ragazzi a capire come questo Selezionare funziona con un esempio in tempo reale.

In questo caso, prenderò in considerazione l'idea di lavorare su un famoso sito di e-commerce facebook.com.

  • Innanzitutto, aggiungi le librerie Java al tuo sistema.
  • Un IDE in cui puoi scrivere il pezzo di codice. Prenderò in considerazione l'idea di lavorare sull'IDE Eclipse in quanto è facile da usare.
  • Aggiungi le librerie di selenio al progetto.
  • Ottieni l'URL della pagina web.
  • Eseguire le azioni desiderate nell'elenco a discesa.

L'ho spiegato utilizzando 2 programmi diversi. Il primo programma ti aiuterà a selezionare un valore dall'elenco a discesa e il secondo programma ti aiuterà a eseguire diverse operazioni nell'elenco a discesa.

  • Innanzitutto, imposta il file .
  • Ottieni l'URL di Facebook .
  • Creare un oggetto e trova l'elemento utilizzando i localizzatori di elementi.
  • Seleziona l'oggetto del WebElement utilizzando i metodi Select.
  • Esci dall'esecuzione del driver.

Fare riferimento a questo codice:

pacchetto Edurekaa import org.junit.Test import org.openqa.selenium.By import 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.Select public class SelectClass {@Test public static void main (String [] args) throws InterructedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = nuovo ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maxim () //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 (By .id ('year')) Seleziona year_y = new Seleziona (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = new Seleziona (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

Il secondo programma si occupa dell'esecuzione di azioni nell'elenco a discesa. In questo caso, stampiamo il numero di mesi e anche i nomi.

  • Crea un elenco di WebElement e seleziona le opzioni.
  • Ottieni la dimensione del mese a discesa.
  • Stampa la dimensione dell'elenco dei mesi.
  • Crea un altro oggetto del WebElement esso e ottieni il nome del mese.
  • Stampa il numero usando un ciclo for.
  • Esci dall'esecuzione del driver.
package Edurekaa import java.util.List import org.junit.Test import org.openqa.selenium.By import 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.Select public class SelectClass2 {@Test public static void main (String [] args) throws InterructedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = new ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) driver 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.getOptions ( ) int total_month = month_list.size () System.out.println ('Il conteggio totale è' + total_month) per (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('I mesi sono' + month_name)} driver.quit ()}}

Con questo, arriviamo alla fine di questo blog 'Come selezionare da un menu a discesa in Selenium WebDriver'. Spero che questo articolo vi sia piaciuto e che abbiate capito come funziona la classe Select in Selenium.

Ora che hai capito come selezionare un valore da un elenco a discesa utilizzando Selenium, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 650.000 studenti soddisfatti sparsi in tutto il mondo. Questo corso è progettato per introdurti alle funzionalità complete di Selenium e alla sua importanza nel testare il software.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di 'Come selezionare da un menu a discesa in Selenium WebDriver' e ti risponderemo.