Neste tutorial, aprenderemos como lidar com DropDown no Selenium e Operações de seleção múltipla.
Selecione a classe em Selenium
A classe Select no Selenium é um método usado para implementar a tag HTML SELECT. A tag de seleção html fornece métodos auxiliares para selecionar e desmarcar os elementos. A classe Select é uma classe comum, portanto, a palavra-chave New é usada para criar seu objeto e especifica a localização do elemento da web.
Selecione a opção na caixa suspensa
A seguir está um processo passo a passo sobre como selecionar o valor da lista suspensa no Selenium:
Antes de manipular a lista suspensa no Selenium e controlar as caixas suspensas, devemos fazer o seguinte:
- Importe o pacote org.openqa.selenium.support.ui.Select
- Instancie a caixa suspensa como um objeto, selecione no Selenium WebDriver
Por exemplo, vá para a página de registro da Mercury Tours (http://demo.guru99.com/test/newtours/register.php) e observe a caixa suspensa "País" lá.
Passo 1
Importe o pacote "Selecionar".
Passo 2
Declare o elemento suspenso como uma instância da classe Select. No exemplo abaixo, nomeamos essa instância como "drpCountry".
etapa 3
Agora podemos começar a controlar "drpCountry" usando qualquer um dos métodos Select disponíveis para selecionar o menu suspenso no Selenium. O código de exemplo abaixo selecionará a opção "ANTARCTICA".
Seleção de itens em vários elementos SELECT
Também podemos usar o método selectByVisibleText () para selecionar várias opções em um elemento multi SELECT. Como exemplo, tomaremos http://jsbin.com/osebed/2 como URL base. Ele contém uma caixa suspensa que permite várias seleções ao mesmo tempo.
O código a seguir selecionará as duas primeiras opções usando o método selectByVisibleText ().
Selecione Métodos
A seguir estão os métodos mais comuns usados na lista suspensa Selenium.
Método | Descrição |
---|---|
selectByVisibleText () e deselectByVisibleText ( ) Exemplo: |
|
selectByValue () e deselectByValue ( ) Exemplo: |
|
selectByIndex () e deselectByIndex ( ) Exemplo: |
|
isMultiple () Exemplo: |
|
deselectAll () Exemplo: |
|
Aqui está o código completo
pacote 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 = novo FirefoxDriver ();driver.get (baseURL);Selecione drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTARCTICA");// Selecionando itens em vários elementos SELECTdriver.get ("http://jsbin.com/osebed/2");Selecionar frutas = novo Selecionar (driver.findElement (By.id ("frutas")));fruits.selectByVisibleText ("Banana");fruits.selectByIndex (1);}}
Resumo
Elemento | Comando | Descrição |
---|---|---|
Caixa Suspensa | selectByVisibleText () / deselectByVisibleText () | seleciona / desmarca uma opção por seu texto exibido |
selectByValue () / deselectByValue () | seleciona / desmarca uma opção pelo valor de seu atributo "valor" | |
selectByIndex () / deselectByIndex () | seleciona / desmarca uma opção por seu índice | |
isMultiple () | retorna TRUE se o elemento suspenso permitir a seleção múltipla de uma vez; FALSE se o contrário | |
desmarcar todos() | desmarca todas as opções previamente selecionadas |
Para controlar as caixas suspensas, você deve primeiro importar o pacote org.openqa.selenium.support.ui.Select e, em seguida, criar uma instância Select.