Como selecionar CheckBox e botão de rádio no Selenium WebDriver

Índice:

Anonim

Neste tutorial, veremos como identificar os seguintes elementos de formulário

  • Botao de radio
  • Caixa de Seleção

Botao de radio

Os botões de rádio também podem ser ativados usando o método click ().

Usando http://demo.guru99.com/test/radio.html para praticar, veja que radio1.click () alterna no botão de rádio "Opção1". radio2.click () alterna no botão de rádio "Opção2", deixando a "Opção1" desmarcada.

Caixa de Seleção

Ativar / desativar uma caixa de seleção também é feito usando o método click () .

O código abaixo clicará duas vezes na caixa de seleção "Mantenha-me conectado" do Facebook e, em seguida, exibirá o resultado como TRUE quando estiver ativado e FALSE se estiver desativado.

O método isSelected () é usado para saber se a caixa de seleção está ativada ou desativada.

Aqui está outro exemplo: http://demo.guru99.com/test/radio.html

Código Completo

Aqui está o código de trabalho completo

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;public class Form {public static void main (String [] args) {// declaração e instanciação de objetos / variáveisSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = novo ChromeDriver ();driver.get ("http://demo.guru99.com/test/radio.html");WebElement radio1 = driver.findElement (By.id ("vfb-7-1"));WebElement radio2 = driver.findElement (By.id ("vfb-7-2"));// Radio Button1 é selecionadoradio1.click ();System.out.println ("Opção 1 do botão de rádio selecionada");// Radio Button1 é desmarcado e Radio Button2 é selecionadoradio2.click ();System.out.println ("Opção 2 do botão de rádio selecionada");// Selecionando CheckBoxWebElement opção1 = driver.findElement (By.id ("vfb-6-0"));// Isso irá alternar a caixa de seleçãooption1.click ();// Verifique se a caixa de seleção está ativadaif (option1.isSelected ()) {System.out.println ("Caixa de seleção ativada");} outro {System.out.println ("Checkbox is Toggled Off");}// Selecionando a caixa de seleção e usando o método isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));para (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("O status da caixa de seleção do Facebook persiste é -" + chkFBPersist.isSelected ());}//driver.close ();}}

Solução de problemas

Se você encontrar NoSuchElementException () ao localizar elementos, significa que o elemento não foi encontrado na página no ponto em que o driver da Web acessou a página.

  1. Verifique seu localizador novamente usando Firepath ou Inspecionar elemento no Chrome.
  2. Verifique se o valor que você usou no código é diferente daquele para o elemento no Firepath agora.
  3. Algumas propriedades são dinâmicas para poucos elementos. No caso, você achar que o valor é diferente e está mudando dinamicamente, considere usar By.xpath () ou By.cssSelector () que são maneiras mais confiáveis, mas complexas.
  4. Às vezes, pode ser um problema de espera também, ou seja, o driver da Web executou seu código antes mesmo de a página carregar completamente etc.
  5. Adicione uma espera antes de findElement () usando esperas implícitas ou explícitas.

Resumo

  • A tabela abaixo resume os comandos para acessar cada tipo de elemento discutido acima
Elemento Comando Descrição
Caixa de seleção, botão de rádio clique() usado para ligar / desligar o elemento