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:
- Seleziona la classe in Selenium WebDriver
- Diversi comandi di selezione
- Come funziona il comando SELEZIONE multipla?
- DeSelect Methods
- Come selezionare un'opzione dal menu a discesa?
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.