In questo tutorial, impareremo come gestire DropDown in Selenium e operazioni di selezione multipla.
Seleziona Classe in selenio
La classe Select in Selenium è un metodo utilizzato per implementare il tag HTML SELECT. Il tag html select fornisce metodi di supporto per selezionare e deselezionare gli elementi. La classe Select è una classe ordinaria, quindi la parola chiave New viene utilizzata per creare il suo oggetto e specifica la posizione dell'elemento web.
Seleziona Opzione dalla casella a discesa
Di seguito è riportato un processo passo passo su come selezionare il valore dal menu a discesa in Selenium:
Prima di gestire il menu a discesa in Selenium e controllare le caselle a discesa, dobbiamo fare le seguenti due cose:
- Importa il pacchetto org.openqa.selenium.support.ui.Select
- Crea un'istanza della casella a discesa come oggetto, Seleziona in Selenium WebDriver
Ad esempio, vai alla pagina di registrazione di Mercury Tours (http://demo.guru99.com/test/newtours/register.php) e nota la casella a discesa "Paese".
Passo 1
Importa il pacchetto "Seleziona".
Passo 2
Dichiarare l'elemento a discesa come istanza della classe Select. Nell'esempio seguente, abbiamo chiamato questa istanza come "drpCountry".
Passaggio 3
Ora possiamo iniziare a controllare "drpCountry" utilizzando uno dei metodi di selezione disponibili per selezionare il menu a discesa in Selenium. Il codice di esempio riportato di seguito selezionerà l'opzione "ANTARTIDE".
Selezione di elementi in più elementi SELECT
Possiamo anche utilizzare il metodo selectByVisibleText () per selezionare più opzioni in un elemento multi SELECT. Ad esempio, prenderemo http://jsbin.com/osebed/2 come URL di base. Contiene una casella a discesa che consente più selezioni contemporaneamente.
Il codice seguente selezionerà le prime due opzioni utilizzando il metodo selectByVisibleText ().
Seleziona metodi
I seguenti sono i metodi più comuni utilizzati nell'elenco a discesa Selenium.
Metodo | Descrizione |
---|---|
selectByVisibleText () e deselectByVisibleText () Esempio: ![]() |
|
selectByValue () e deselectByValue () Esempio: ![]() |
![]() |
selectByIndex () e deselectByIndex () Esempio: ![]() |
|
isMultiple () Esempio: ![]() |
|
deselectAll () Esempio: ![]() |
|
Ecco il codice completo
pacchetto newpackage;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.Select;import org.openqa.selenium.By;public class accessDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseURL = "http://demo.guru99.com/test/newtours/register.php";Driver WebDriver = nuovo FirefoxDriver ();driver.get (baseURL);Seleziona drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTARTIDE");// Selezione di elementi in più elementi SELECTdriver.get ("http://jsbin.com/osebed/2");Seleziona frutti = nuovo Seleziona (driver.findElement (By.id ("fruits")));fruit.selectByVisibleText ("Banana");fruit.selectByIndex (1);}}
Sommario
Elemento | Comando | Descrizione |
---|---|---|
Casella a discesa | selectByVisibleText () / deselectByVisibleText () | seleziona / deseleziona un'opzione in base al testo visualizzato |
selectByValue () / deselectByValue () | seleziona / deseleziona un'opzione in base al valore del suo attributo "valore" | |
selectByIndex () / deselectByIndex () | seleziona / deseleziona un'opzione tramite il suo indice | |
isMultiple () | restituisce VERO se l'elemento a discesa consente la selezione multipla alla volta; FALSO in caso contrario | |
deselezionare tutto() | deseleziona tutte le opzioni selezionate in precedenza |
Per controllare le caselle a discesa, è necessario prima importare il pacchetto org.openqa.selenium.support.ui.Select e quindi creare un'istanza Select.