Como selecionar um valor em uma lista suspensa no Selenium WebDriver



Este artigo ajuda a entender o que é uma classe Select no Selenium WebDriver e também como selecionar um valor de uma lista suspensa no Selenium WebDriver

Para realizar qualquer ação, o primeirotarefa a fazer é identificar o grupo de elementos. Geralmente, ao trabalhar com , pode ser necessário selecionar alguns valores da lista suspensa e também executar outras atividades e validá-las. Então, vou guiá-lo para entender o que é uma classe Select no Selenium WebDriver e como Selecione um valor de uma lista suspensa no Selenium WebDriver.

Discutirei este tópico nesta ordem:





Então, vamos começar.

Selecione a classe no Selenium WebDriver

o Selecione classe é um classe que basicamente fornece a implementação da tag HTML SELECT. Uma tag Select fornece os métodos auxiliares com opções de selecionar e desmarcar. Esta classe pode ser encontrada em Selenium’s Support.UI.Select pacote. Select é na verdade uma classe comum, então seu objeto também é criado pela palavra-chave Novo e também especifica a localização do elemento da web.



Sintaxe:

Selecione oSelect = novo Select ()

Ele gerará um erro solicitando a adição de argumentos ao comando. Portanto, especifique a localização do elemento da web usando o .

Afirma claramente que Selecione está pedindo um objeto de tipo de elemento para seu construtor.



Depois disto,uma vez que você obtém o objeto do SELECIONAR classe , você pode acessar todos os métodos que residem no SELECIONE classe digitando oSelecionar + ponto que fornecerá todos os métodos da classe Select. Escolha qualquer método de acordo com seu caso de teste.

Então, agora vamos seguir em frente para aprender sobre os diferentes métodos nesta classe Select.

Selecione a classe no Selenium WebDriver: Comandos Select diferentes

A seguir estão os métodos mais comumente usados ​​para lidar com a lista suspensa.

1. selectByVisibleText: selectByVisibleText (String arg0): void

É muito fácil escolher ou selecionar uma opção fornecida em qualquer lista suspensa e várias caixas de seleção com este método. Leva um parâmetro de String que é um dos valor de Selecionar elemento e não retorna nada.

Sintaxe: oSelect.selectByVisibleText (“texto”)

Exemplo:

Selecione oSelect = novo Select (driver.findElement (By.id ('search-box'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): void

Este método é quase semelhante a ‘selectByVisibleText’, mas a única diferença aqui é que o usuário deve fornecer o número do índice para a opção em vez do texto da opção. Leva o parâmetro inteiro que é o valor do índice de Selecione o elemento e não retorna nada.

Synatx: oSelect.selectByIndex (int)

Exemplo:

Selecione oSelect = novo Select (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3 - selectByValue: selectByValue (String arg0): void

Este método é novamente semelhante ao que discuti anteriormente, a única diferença neste método é que ele pede o valor da opção em vez do texto da opção ou de um índice. É necessário um parâmetro String que é um dos valores de Selecione o elemento e não retorna nada.

Sintaxe: oSelect.selectByValue (“texto”)

Exemplo:

Selecione oSelect = novo Select (driver.findElement (By.id ('caixa de pesquisa'))) oSelect.selectByValue ('Treinamento de certificação Selenium')

Quatro. getOptions: getOptions (): List

Este método ajuda a obter todas as opções pertencentes à tag Select. Não leva nenhum parâmetro e retorna Lista .

Sintaxe: oSelect.getOptions ()

Exemplo:

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

Então, vamos avançar para o próximo tópico e aprender sobre os métodos de seleção múltipla

Selecione a classe no Selenium WebDriver: Como funciona o comando Multiple SELECT?

O atributo de seleção múltipla é uma expressão booleana. Quando está presente, especifica que várias opções podem ser selecionadas de uma vez. Essas opções variam para diferentes sistemas operacionais e navegadores, a saber:

  • Para Windows: Segure o botão de controle (ctrl) para selecionar várias opções.
  • Para Mac: Mantenha pressionado o botão de comando para selecionar várias opções.

É fácil usar caixas de seleção em vez de usar maneiras diferentes de executar operações porque você deve informar ao usuário que várias seleções estão disponíveis. Existe um método que realmente ajuda a especificar que você pode usar várias opções de seleção.

isMultiple

isMultiple (): boolean - Este método informa se o elemento SELECT oferece suporte a várias opções de seleção ao mesmo tempo ou não. Este método não aceita nada, mas retorna um valor booleano (verdadeiro / falso).

Sintaxe: oSelect.isMultiple ()

Exemplo:

Selecione oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Ou pode ser usado como oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / / Ou pode ser usado como oSelect.selectByValue (value) oSelect.selectByValue (value)

Selecione a classe no Selenium WebDriver: métodos DeSelect

Ao selecionar um elemento específico na página da web, existem alguns métodos que o ajudarão a desmarcar esse elemento. Mas o único desafio desses métodos é que eles não funcionam para Suspenso e só trabalhar para Multi-Select elementos

Caso você queira desmarcar qualquer opção pré-selecionada, isso pode ser feito com qualquer

  • desmarcar todos ()
  • deselectByIndex
  • deselectByValue
  • deselectByVisibletext

Vamos entender os métodos em detalhes.

  • desmarcar todos (): Ele limpa todas as entradas selecionadas. Isso só é válido quando o elemento suspenso oferece suporte a várias seleções.

Exemplo: oSelecione. desmarcar todos ()

  • deselectByIndex (): istodesmarca a opção no índice fornecido.

Exemplo: oSelecione. deselectByIndex (2)

  • deselectByValue (): Este método ajuda a desmarcar a opção cujo “ valor ”Atributo corresponde ao parâmetro específico.

Exemplo: oSelecione. deselecionar por valor (“13”)

  • deselectByVisibletext (): Este método ajuda a desmarcar a opção que exibe o texto correspondente ao parâmetro.

Selecione a classe no Selenium WebDriver: Como selecionar uma opção do menu suspenso?

Eu vou ajudar vocês a entender como isso Selecione método funciona com um exemplo em tempo real.

Nesse caso, considerarei trabalhar em um famoso site de comércio eletrônico facebook.com.

  • Primeiro, adicione as bibliotecas Java em seu sistema.
  • Um IDE onde você pode escrever a parte do código. Vou pensar em trabalhar no Eclipse IDE, pois é amigável.
  • Adicione bibliotecas Selenium ao projeto.
  • Obtenha o URL da página da web.
  • Execute as ações desejadas na lista suspensa.

Eu expliquei isso usando 2 programas diferentes. O primeiro programa o ajudará a selecionar um valor na lista suspensa e o segundo programa ajuda a executar diferentes operações na lista suspensa.

  • Primeiro, defina o .
  • Obtenha o URL de Facebook .
  • Crie um objeto e encontre o elemento usando os localizadores de elemento.
  • Selecione o objeto do WebElement usando os métodos Select.
  • Saia da execução do driver.

Consulte este código:

pacote 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 InterruptedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = new ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximize () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Selecione oSelect = novo Selecione (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (Por .id ('ano')) Selecione ano_y = novo Selecione (ano_aa) ano_y.selectByValue ('2000') Thread.sleep (3000) WebElement mês_m = driver.findElement (By.id ('mês')) Sele ct month_d1 = novo Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

O segundo programa trata da execução de ações na lista suspensa. Nesse caso, vamos imprimir o número de meses e também os nomes.

  • Crie uma lista de WebElements e selecione as opções.
  • Veja o menu suspenso do tamanho do mês.
  • Imprima o tamanho da lista de meses.
  • Crie outro objeto do WebElement ele e pegue o nome do mês.
  • Imprima o número usando um loop for.
  • Saia da execução do driver.
pacote 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 InterruptedException {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 ')) Selecione oSelect = new Select (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getOptions ( ) int total_month = month_list.size () System.out.println ('Contagem total é' + total_month) para (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Meses são' + month_name)} driver.quit ()}}

Agora com isso, chegamos ao fim deste blog “Como selecionar a partir de um menu suspenso no Selenium WebDriver”. Espero que tenham gostado deste artigo e entendido como a classe Select funciona no Selenium.

Agora que você entendeu como selecionar um valor de uma lista suspensa usando Selenium, verifique o da Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 650.000 alunos satisfeitos espalhados por todo o mundo. Este curso foi elaborado para apresentar a você os recursos completos do Selenium e sua importância no teste de software.

o que é uma interface de marcador em java

Tem alguma questão para nós? Mencione isso na seção de comentários de “Como selecionar em um menu suspenso no Selenium WebDriver” e entraremos em contato com você.