Выберите радиокнопку и проверьтеBox in Selenium

⚡ Умное резюме

Выберите радиокнопку и проверьтеBox in Selenium В этом руководстве рассматриваются методы WebDriver для автоматизации двух наиболее распространенных элементов управления формами. Объясняется, как методы click() и isSelected() переключают радиокнопки и флажки, а также подробно рассматривается их работа. Java а также делится советами по устранению неполадок, связанных с ненадежными локаторами.

  • 🔘 Переключатель Toggle: Используйте метод click() элемента WebElement для выбора переключателя; выбор другого варианта автоматически отменяет выбор предыдущего.
  • ☑️ флажок Toggle: Один и тот же метод click() включает и выключает флажок; вызов этого метода дважды возвращает флажок в исходное состояние.
  • Государственная проверка: Вызовите метод isSelected() для подтверждения текущего состояния переключателя и установите значение TRUE для отмеченных элементов и FALSE для неотмеченных.
  • 🧪 Работы Java Пример: Вся программа в целом определяет... GuruДемонстрация работы приложения (99 примеров) и установка флажка "Постоянный вход в Facebook" для показа обоих сценариев.
  • 🇧🇷 Надежные локаторы: При динамическом изменении идентификаторов переходите к использованию By.xpath() или By.cssSelector() и добавляйте явные ожидания для предотвращения исключения NoSuchElementException.

Выберите радиокнопку и проверьтеBox in Selenium

Радиокнопка в Selenium

Переключатели радиокнопок включаются с помощью click() метод, как и любой другой WebElement в SeleniumПоскольку в группе переключателей одновременно может быть активен только один вариант, нажатие на второй вариант автоматически отменяет выбор первого.

. https://demo.guru99.com/test/radio.html В качестве страницы для тренировки обратите внимание, что radio1.click() выбирает переключатель «Вариант 1». Вызов radio2.click() затем выбирает «Вариант 2», оставляя «Вариант 1» невыбранным.

Выбор радиокнопки на Guru99 демонстрационная страница

Как выбрать флажок в Selenium

TogglВключение или выключение флажка также осуществляется с помощью click() Метод. Приведенный ниже код дважды нажимает на флажок «Оставаться авторизованным» в Facebook и выводит TRUE, когда флажок включен, и FALSE, когда он выключен.

Selenium код, нажимающий на флажок «Оставаться в системе Facebook»

Вывод консоли, отображающий состояние переключения флажка.

isSelected() Этот метод используется для подтверждения того, включен или выключен флажок — ключевое утверждение при проверке состояния формы в тестовых случаях.

Вот ещё один пример страницы: https://demo.guru99.com/test/radio.html.

Selenium Код, проверяющий состояние флажка с помощью метода isSelected().

Завершенный Code Пример

Вот полный рабочий код, который переключает оба радиокнопочных поля и флажок «Постоянный вход в 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();
    }
}

Диагностика неисправностей

Если вы столкнулись NoSuchElementException Если элемент был обнаружен, это означает, что он отсутствовал в момент обращения WebDriver к странице. Используйте приведенный ниже контрольный список для быстрого восстановления:

  1. Проверьте локатор еще раз, используя FirePath или инструмент «Просмотреть элемент» в Chrome.
  2. Убедитесь, что значение, использованное в коде, соответствует текущему значению элемента на странице.
  3. Некоторые элементы обладают динамическими атрибутами, подобными тем, что вы можете видеть при выберите в выпадающем списке Selenium ВебдрайверВ таких случаях предпочтительнее By.xpath() or By.cssSelector()которые более надежны, но несколько сложнее.
  4. Иногда проблема заключается во времени выполнения — WebDriver выполнил ваш код до того, как страница полностью загрузилась.
  5. Добавить задержку перед findElement() использование неявных или явных задержек, чтобы дать элементу время на отрисовку.

Часто задаваемые вопросы (FAQ)

Вызовите метод click() для того же элемента WebElement, который отображает флажок, чтобы его отключить. Специального метода для отмены выбора нет. Используйте метод isSelected() перед щелчком, если хотите отменить выбор только тогда, когда флажок в данный момент отмечен, что обеспечит безопасность тестовой логики.

Метод isSelected() возвращает true, когда установлен флажок или переключатель. Метод isEnabled() возвращает true, когда элемент может принимать ввод пользователя. Они служат разным целям: isSelected() проверяет состояние, а isEnabled() проверяет, принимает ли элемент взаимодействие.

Используйте метод findElements() с локатором, например, By.xpath(“//input[@type='checkbox']”), чтобы получить все элементы WebElements в виде флажков, пройдитесь по списку в цикле, проверьте значение isSelected() и вызовите click() только для тех элементов, которые не отмечены. Это позволит избежать случайного снятия отметки с уже отмеченных флажков.

Искусственный интеллект генерирует стратегии поиска, автоматически восстанавливает селекторы при изменении идентификаторов и предлагает утверждения для состояния радиокнопок и флажков. Инструменты ИИ также автоматически генерируют сквозные тесты заполнения форм на основе записей экрана, сокращая трудозатраты на ручное программирование и поддержку тестов.

Да. На основе искусственного интеллекта. Selenium Инструменты анализируют DOM, изучают стабильные атрибуты и переписывают селекторы XPath или CSS при изменении идентификаторов между релизами. Эта функция самовосстановления позволяет тестам элементов управления форм проходить без ручного обновления локаторов после каждой корректировки пользовательского интерфейса.

Подведем итог этой публикации следующим образом: