Виберіть радіокнопку та поставте позначкуBox in Selenium

⚡ Розумний підсумок

Виберіть радіокнопку та поставте позначкуBox in Selenium охоплює методи WebDriver для автоматизації двох найпоширеніших елементів керування формами. У цьому посібнику пояснюється, як методи click() та isSelected() перемикають перемикачі та прапорці, а також інструкції з їх використання. Java код, а також ділиться порадами щодо усунення несправностей для нестабільних локаторів.

  • 🔘 Радіо-кнопка Toggle: Використовуйте метод click() на WebElement для вибору радіокнопки; вибір іншого параметра автоматично скасовує вибір попереднього.
  • ☑️ прапорець Toggle: Той самий метод click() вмикає та вимикає прапорець; його подвійний виклик повертає поле до початкового стану.
  • ✅ Перевірка штату: Викличте isSelected() для підтвердження поточного стану перемикання та встановлення значення TRUE для позначених елементів керування та FALSE для непозначених.
  • 🧪 Робочий Java приклад: Повна програма керує Guru99 демо та прапорець «Зберегти вхід у 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 або Inspect Element у Chrome.
  2. Переконайтеся, що значення, яке ви використали в коді, відповідає поточному значенню елемента на сторінці.
  3. Деякі елементи мають динамічні атрибути, подібні до тих, що ви можете побачити, коли виберіть випадаючий список у Selenium веб-драйверУ таких випадках віддайте перевагу By.xpath() or By.cssSelector(), які є надійнішими, але трохи складнішими.
  4. Іноді проблема полягає в часі — WebDriver виконав ваш код до того, як сторінка завершила завантаження.
  5. Додати очікування перед findElement() використання неявного або явного очікування, щоб дати елементу час для рендерингу.

Поширені запитання

Викличте click() для того самого прапорця WebElement, щоб вимкнути його. Спеціального методу deselect немає. Використовуйте isSelected() перед клацанням, якщо потрібно скасувати вибір лише тоді, коли прапорець встановлено, що забезпечує безпеку логіки тестування.

isSelected() повертає true, коли прапорець або радіокнопка позначено. isEnabled() повертає true, коли елемент може отримувати ввідні дані від користувача. Вони виконують різні функції: isSelected() перевіряє стан, тоді як isEnabled() перевіряє, чи приймає елемент взаємодію.

Використовуйте findElements() з локатором, таким як By.xpath(“//input[@type='checkbox']”), щоб отримати всі прапорці WebElements, перебрати список, перевірити isSelected() та викликати click() лише для тих, що не позначені. Це запобігає випадковому зняттю прапорців з уже позначеними прапорцями.

Помічники ШІ генерують стратегії локатора, самовідновлюються селектори при зміні ідентифікаторів та пропонують твердження для стану радіо та прапорців. Інструменти ШІ також автоматично генерують комплексні тести заповнення форм на основі записів екрану, що зменшує зусилля на ручне кодування та обслуговування тестів.

Так. На базі штучного інтелекту Selenium Інструменти аналізують DOM, вивчають стабільні атрибути та переписують селектори XPath або CSS, коли ідентифікатори змінюються між релізами. Ця можливість самовідновлення забезпечує успішне проходження тестів керування формами без ручного оновлення локатора після кожного налаштування інтерфейсу користувача.

Підсумуйте цей пост за допомогою: