Como selecionar o valor do DropDown usando o Selenium Webdriver

Índice:

Anonim

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:

  1. Importe o pacote org.openqa.selenium.support.ui.Select
  2. 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:
  • Seleciona / desmarca a opção que exibe o texto correspondente ao parâmetro.
  • Parâmetro : o texto exatamente exibido de uma opção específica
selectByValue () e deselectByValue ( ) Exemplo:
  • Seleciona / desmarca a opção cujo atributo "valor" corresponde ao parâmetro especificado.
  • Parâmetro : valor do atributo "valor"
  • Lembre-se de que nem todas as opções suspensas têm o mesmo texto e "valor", como no exemplo abaixo.
selectByIndex () e deselectByIndex ( ) Exemplo:
  • Seleciona / desmarca a opção no índice fornecido.
  • Parâmetro : o índice da opção a ser selecionada.
isMultiple () Exemplo:
  • Retorna TRUE se o elemento suspenso permitir várias seleções ao mesmo tempo; FALSE se o contrário.
  • Sem parâmetros necessários
deselectAll () Exemplo:
  • Limpa todas as entradas selecionadas. Isso só é válido quando o elemento suspenso oferece suporte a várias seleções.
  • Sem parâmetros necessários

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.