Seleccione el botón de opción y marqueBox in Selenium

⚡ Resumen inteligente

Seleccione el botón de opción y marqueBox in Selenium Este tutorial cubre las técnicas de WebDriver para automatizar dos de los controles de formulario más comunes. Explica cómo los métodos click() e isSelected() alternan los botones de radio y las casillas de verificación, y muestra cómo funcionan. Java código, y comparte consejos para solucionar problemas con localizadores frágiles.

  • 🔘 Boton de radio Toggle: Utilice el método click() del elemento web para seleccionar un botón de opción; al seleccionar otra opción, se deseleccionará automáticamente la anterior.
  • ☑️ Casilla de verificación Toggle: El mismo método click() activa y desactiva una casilla de verificación; al llamarlo dos veces, la casilla vuelve a su estado original.
  • Verificación estatal: Llama a isSelected() para confirmar el estado actual del interruptor y afirma que es VERDADERO para los controles marcados y FALSO para los no marcados.
  • 🧪 Acoplar Java Ejemplo: El programa completo impulsa el Guru99 demostraciones y la casilla de verificación de inicio de sesión persistente de Facebook para mostrar ambos flujos.
  • 🛠️ Localizadores fiables: Cambie a By.xpath() o By.cssSelector() cuando los ID cambien dinámicamente y agregue esperas explícitas para evitar NoSuchElementException.

Seleccione el botón de opción y marqueBox in Selenium

Botón de radio en Selenium

Los botones de radio se activan mediante el click() método, al igual que cualquier otro WebElement en SeleniumDado que solo una opción de un grupo de botones de radio puede estar activa a la vez, al hacer clic en una segunda opción se deselecciona automáticamente la primera.

El uso de https://demo.guru99.com/test/radio.html Como página de práctica, tenga en cuenta que radio1.click() selecciona el botón de opción “Opción1”. Llamando radio2.click() Luego selecciona la “Opción 2” y deja la “Opción 1” sin seleccionar.

Selección de botones de radio en el GuruPágina de demostración 99

Cómo seleccionar una casilla de verificación en Selenium

TogglLa activación o desactivación de una casilla de verificación también se realiza mediante el uso del click() método. El código a continuación hace clic dos veces en la casilla de verificación "Mantener sesión iniciada" de Facebook e imprime TRUE cuando la casilla está activada y FALSE cuando está desactivada.

Selenium código haciendo clic en la casilla de verificación de Facebook Mantener sesión iniciada

Salida de la consola que muestra el estado de alternancia de la casilla de verificación

El isSelected() Este método se utiliza para confirmar si una casilla de verificación está activada o desactivada, una comprobación clave al validar el estado de un formulario en los casos de prueba.

Aquí hay otra página de ejemplo: https://demo.guru99.com/test/radio.html.

Selenium Código que verifica el estado de la casilla de verificación con isSelected()

Paquete COMPLETE Code Ejemplo

Aquí está el código completo y funcional que activa y desactiva tanto los botones de opción como la casilla de verificación de inicio de sesión persistente de 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();
    }
}

Localización de averías

Si te encuentras NoSuchElementException Si no se encuentran elementos, significa que el elemento no estaba presente en el momento en que WebDriver accedió a la página. Utilice la siguiente lista de verificación para recuperarse rápidamente:

  1. Vuelva a comprobar su localizador utilizando FirePath o la herramienta Inspeccionar elemento en Chrome.
  2. Confirma que el valor que usaste en el código coincide con el valor actual del elemento en la página.
  3. Algunos elementos tienen atributos dinámicos, similares a los que puede ver cuando seleccione un menú desplegable en Selenium Controlador webEn esos casos, prefiero By.xpath() or By.cssSelector(), que son más fiables pero ligeramente más complejos.
  4. A veces el problema radica en la sincronización: el WebDriver ejecutó tu código antes de que la página terminara de cargarse.
  5. Agregue una espera antes findElement() utilizando esperas implícitas o explícitas para darle tiempo al elemento a renderizarse.

Preguntas Frecuentes

Llama al método click() en el mismo elemento web de la casilla de verificación para desactivarla. No existe un método específico para deseleccionarla. Usa isSelected() antes de hacer clic si quieres deseleccionarla solo cuando la casilla esté marcada, lo que mantiene la lógica de prueba segura.

`isSelected()` devuelve `true` cuando se marca una casilla de verificación o un botón de opción. `isEnabled()` devuelve `true` cuando un elemento puede recibir la entrada del usuario. Cumplen funciones diferentes: `isSelected()` valida el estado, mientras que `isEnabled()` valida si el elemento acepta interacción.

Utilice findElements() con un localizador como By.xpath(“//input[@type='checkbox']”) para obtener todos los elementos web de casilla de verificación, recorra la lista, compruebe isSelected() y llame a click() solo en aquellos que no estén marcados. Esto evita deseleccionar accidentalmente casillas que ya están marcadas.

Los asistentes de IA generan estrategias de localización, corrigen automáticamente los selectores cuando cambian los identificadores y sugieren afirmaciones para el estado de los botones de opción y las casillas de verificación. Las herramientas de IA también generan automáticamente pruebas de llenado de formularios de extremo a extremo a partir de grabaciones de pantalla, lo que reduce la codificación manual y el esfuerzo de mantenimiento de las pruebas.

Sí. Impulsado por IA. Selenium Estas herramientas analizan el DOM, aprenden atributos estables y reescriben los selectores XPath o CSS cuando los identificadores cambian entre versiones. Esta capacidad de autorreparación permite que las pruebas de los controles de formulario se ejecuten correctamente sin necesidad de actualizar manualmente los localizadores tras cada modificación de la interfaz de usuario.

Resumir este post con: