Selecione o botão de opção e marqueBox in Selenium

⚡ Resumo Inteligente

Selecione o botão de opção e marqueBox in Selenium Este tutorial aborda as técnicas do WebDriver para automatizar dois dos controles de formulário mais comuns. Ele explica como os métodos `click()` e `isSelected()` alternam entre botões de opção e caixas de seleção, e demonstra o seu funcionamento. Java código e compartilha dicas de solução de problemas para localizadores frágeis.

  • 🔘 Botao de radio Toggle: Utilize o método click() no WebElement para selecionar um botão de opção; selecionar outra opção desmarca automaticamente a anterior.
  • ☑️ Caixa de seleção Toggle: O mesmo método click() ativa e desativa uma caixa de seleção; chamá-lo duas vezes retorna a caixa ao seu estado original.
  • Verificação Estadual: Chame a função isSelected() para confirmar o estado atual do botão de alternância e verifique se o valor é TRUE para controles selecionados e FALSE para controles desmarcados.
  • 🧪 Trabalho Java Exemplo: O programa completo impulsiona o Guru99 demo e caixa de seleção de login persistente do Facebook para demonstrar ambos os fluxos.
  • 🛠️ Localizadores confiáveis: Alterne para By.xpath() ou By.cssSelector() quando os IDs mudarem dinamicamente e adicione esperas explícitas para evitar NoSuchElementException.

Selecione o botão de opção e marqueBox in Selenium

Botão de rádio em Selenium

Os botões de opção são ativados/desativados usando o click() método, assim como qualquer outro WebElement em SeleniumComo apenas uma opção em um grupo de botões de opção pode estar ativa por vez, clicar em uma segunda opção desmarca automaticamente a primeira.

Utilizar painéis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefícios: https://demo.guru99.com/test/radio.html Como página de prática, observe que radio1.click() seleciona o botão de rádio “Opção 1”. Ligando radio2.click() Em seguida, seleciona a “Opção 2”, deixando a “Opção 1” desmarcada.

Seleção de botão de opção no Guru99 página de demonstração

Como selecionar uma caixa de seleção em Selenium

TogglAtivar ou desativação de uma caixa de seleção também é feito usando o click() O código abaixo clica duas vezes na caixa de seleção "Manter-me conectado" do Facebook e imprime VERDADEIRO quando a caixa de seleção está marcada e FALSO quando está desmarcada.

Selenium Ao clicar no código na caixa de seleção "Manter-me conectado" do Facebook,

Saída do console mostrando o estado de alternância da caixa de seleção.

O isSelected() O método é usado para confirmar se uma caixa de seleção está marcada ou desmarcada — uma verificação fundamental ao validar o estado de um formulário em casos de teste.

Aqui está outra página de exemplo: https://demo.guru99.com/test/radio.html.

Selenium Código para verificar o estado de uma caixa de seleção com isSelected()

Automação Code Exemplo

Aqui está o código completo e funcional que alterna entre os botões de opção e a caixa de seleção "Persistir login" do Facebook.

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) {

        // Declaration and instantiation of objects and variables
        System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();

        driver.get("https://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 Button 1 is selected
        radio1.click();
        System.out.println("Radio Button Option 1 Selected");

        // Radio Button 1 is de-selected and Radio Button 2 is selected
        radio2.click();
        System.out.println("Radio Button Option 2 Selected");

        // Selecting Checkbox
        WebElement option1 = driver.findElement(By.id("vfb-6-0"));

        // This will toggle the checkbox
        option1.click();

        // Check whether the checkbox is toggled on
        if (option1.isSelected()) {
            System.out.println("Checkbox is Toggled On");
        } else {
            System.out.println("Checkbox is Toggled Off");
        }

        // Selecting a Checkbox and using the isSelected method
        driver.get("https://demo.guru99.com/test/facebook.html");
        WebElement chkFBPersist = driver.findElement(By.id("persist_box"));
        for (int i = 0; i < 2; i++) {
            chkFBPersist.click();
            System.out.println("Facebook Persists Checkbox Status is - " + chkFBPersist.isSelected());
        }
        // driver.close();
    }
}

guia de solução de problemas

Se você encontrar NoSuchElementException Ao procurar elementos, significa que o elemento não estava presente no momento em que o WebDriver acessou a página. Use a lista de verificação abaixo para recuperar rapidamente:

  1. Verifique seu localizador novamente usando o FirePath ou a opção "Inspecionar elemento" no Chrome.
  2. Confirme se o valor usado no código corresponde ao valor atual do elemento na página.
  3. Alguns elementos possuem atributos dinâmicos, semelhantes aos que você pode ver quando você selecione uma opção na lista suspensa em Selenium webdriverNesses casos, prefira By.xpath() or By.cssSelector(), que são mais confiáveis, mas um pouco mais complexas.
  4. Às vezes, o problema é de sincronização — o WebDriver executou seu código antes que a página terminasse de carregar.
  5. Adicione uma espera antes findElement() Utilizando esperas implícitas ou explícitas para dar tempo ao elemento de ser renderizado.

Perguntas Frequentes

Chame o método `click()` no mesmo elemento Web da caixa de seleção para desmarcá-la. Não existe um método `deselect()` específico. Use `isSelected()` antes de clicar se quiser desmarcar a caixa de seleção apenas quando ela estiver marcada, o que mantém a lógica de teste segura.

`isSelected()` retorna verdadeiro quando uma caixa de seleção ou um botão de opção está marcado. `isEnabled()` retorna verdadeiro quando um elemento pode receber entrada do usuário. Eles têm propósitos diferentes: `isSelected()` valida o estado, enquanto `isEnabled()` valida se o elemento aceita interação.

Use `findElements()` com um localizador como `By.xpath(“//input[@type='checkbox']”)` para obter todos os WebElements do tipo caixa de seleção, percorra a lista, verifique `isSelected()` e chame `click()` apenas naqueles que não estiverem marcados. Isso evita desmarcar acidentalmente caixas já marcadas.

Assistentes de IA geram estratégias de localização, corrigem seletores automaticamente quando os IDs mudam e sugerem asserções para o estado de botões de opção e caixas de seleção. As ferramentas de IA também geram automaticamente testes de preenchimento de formulários de ponta a ponta a partir de gravações de tela, reduzindo a codificação manual e o esforço de manutenção dos testes.

Sim. Com inteligência artificial. Selenium As ferramentas analisam o DOM, aprendem atributos estáveis ​​e reescrevem seletores XPath ou CSS quando os IDs mudam entre versões. Essa capacidade de autorreparação mantém os testes de controle de formulário aprovados sem atualizações manuais de localizadores após cada ajuste na interface do usuário.

Resuma esta postagem com: