Wählen Sie das Optionsfeld und aktivieren SieBox in Selenium

⚡ Intelligente Zusammenfassung

Wählen Sie das Optionsfeld und aktivieren SieBox in Selenium Dieses Tutorial behandelt die WebDriver-Techniken zur Automatisierung zweier gängiger Formularsteuerelemente. Es erklärt, wie die Methoden `click()` und `isSelected()` Optionsfelder und Kontrollkästchen umschalten und führt Schritt für Schritt durch die Funktionsweise. Java Code und gibt Tipps zur Fehlerbehebung bei empfindlichen Ortungsgeräten.

  • 🔘 Radio knopf Toggle: Verwenden Sie die click()-Methode des WebElement, um ein Optionsfeld auszuwählen; durch die Auswahl einer anderen Option wird die vorherige automatisch abgewählt.
  • ☑️ Checkbox Toggle: Mit der gleichen click()-Methode kann eine Checkbox ein- und ausgeschaltet werden; durch zweimaliges Aufrufen wird die Checkbox wieder in ihren ursprünglichen Zustand versetzt.
  • ✅ Staatliche Überprüfung: Rufen Sie isSelected() auf, um den aktuellen Umschaltstatus zu bestätigen und TRUE für ausgewählte und FALSE für nicht ausgewählte Steuerelemente zu setzen.
  • 🧪 Zusammen Arbeiten Java Ejemplo: Das Gesamtprogramm steuert die Guru99 Demo und Facebook-Checkbox für dauerhafte Anmeldung zur Veranschaulichung beider Abläufe.
  • ️ Zuverlässige Ortungsgeräte: Wechseln Sie zu By.xpath() oder By.cssSelector(), wenn sich IDs dynamisch ändern, und fügen Sie explizite Wartezeiten hinzu, um NoSuchElementException zu verhindern.

Wählen Sie das Optionsfeld und aktivieren SieBox in Selenium

Optionsfeld ein Selenium

Optionsfelder werden mithilfe der click() Methode, genau wie jedes andere WebElement in SeleniumDa in einer Optionsgruppe immer nur eine Option gleichzeitig aktiv sein kann, wird durch Anklicken einer zweiten Option die erste automatisch abgewählt.

Die Verwendung von https://demo.guru99.com/test/radio.html Beachten Sie als Übungsseite Folgendes: radio1.click() wählt die Optionsschaltfläche „Option1“ aus. Anruf radio2.click() wählt dann „Option2“ aus, während „Option1“ nicht ausgewählt bleibt.

Auswahl per Optionsfeld Guru99 Demoseite

So wählen Sie ein Kontrollkästchen aus in Selenium

TogglDas Ein- oder Ausschalten einer Checkbox erfolgt ebenfalls über die click() Methode. Der unten stehende Code klickt zweimal auf das Facebook-Kontrollkästchen „Angemeldet bleiben“ und gibt TRUE aus, wenn das Kontrollkästchen aktiviert ist, und FALSE, wenn es deaktiviert ist.

Selenium Durch Klicken auf das Kontrollkästchen „Facebook: In meinem Konto angemeldet bleiben“ wird der Code ausgeführt.

Konsolenausgabe mit Anzeige des Kontrollkästchen-Umschaltzustands

Das isSelected() Mit dieser Methode wird überprüft, ob ein Kontrollkästchen ein- oder ausgeschaltet ist – eine wichtige Aussage bei der Validierung des Formularstatus in Testfällen.

Hier ist eine weitere Beispielseite: https://demo.guru99.com/test/radio.html.

Selenium Code zur Überprüfung des Checkbox-Status mit isSelected()

Komplett Code Beispiel

Hier ist der vollständige, funktionierende Code, der sowohl die Optionsfelder als auch das Kontrollkästchen für die dauerhafte Facebook-Anmeldung umschaltet.

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();
    }
}

Problemlösung

Wenn Sie begegnen NoSuchElementException Wenn beim Suchen von Elementen das Problem auftritt, bedeutet dies, dass das Element zum Zeitpunkt des Seitenzugriffs durch den WebDriver nicht vorhanden war. Nutzen Sie die folgende Checkliste, um das Problem schnell zu beheben:

  1. Überprüfen Sie Ihren Locator erneut mit FirePath oder der Funktion „Element untersuchen“ in Chrome.
  2. Vergewissern Sie sich, dass der im Code verwendete Wert mit dem aktuellen Wert des Elements auf der Seite übereinstimmt.
  3. Manche Elemente verfügen über dynamische Attribute, ähnlich wie man sie beispielsweise sieht, wenn man Wählen Sie eine Dropdown-Liste aus in Selenium WebTreiberIn diesen Fällen ist Folgendes zu bevorzugen: By.xpath() or By.cssSelector(), die zwar zuverlässiger, aber etwas komplexer sind.
  4. Manchmal liegt das Problem am Timing – der WebDriver hat Ihren Code ausgeführt, bevor die Seite vollständig geladen war.
  5. Füge eine Wartezeit hinzu, bevor findElement() durch implizite oder explizite Wartezeiten, um dem Element Zeit zum Rendern zu geben.

Häufig gestellte Fragen

Rufen Sie `click()` auf demselben Checkbox-WebElement auf, um die Auswahl zu deaktivieren. Es gibt keine separate Methode zum Deaktivieren. Verwenden Sie `isSelected()` vor dem Klicken, wenn Sie die Auswahl nur dann aufheben möchten, wenn die Checkbox aktuell aktiviert ist. Dies gewährleistet die Sicherheit Ihrer Testlogik.

`isSelected()` gibt `true` zurück, wenn eine Checkbox oder ein Optionsfeld ausgewählt ist. `isEnabled()` gibt `true` zurück, wenn ein Element Benutzereingaben empfangen kann. Sie dienen unterschiedlichen Zwecken: `isSelected()` prüft den Zustand, während `isEnabled()` prüft, ob das Element Interaktionen akzeptiert.

Verwenden Sie `findElements()` mit einem Selektor wie `By.xpath("//input[@type='checkbox']")`, um alle Checkbox-WebElements zu erhalten. Durchlaufen Sie die Liste, prüfen Sie `isSelected()` und rufen Sie `click()` nur bei den nicht ausgewählten Checkboxen auf. Dadurch wird vermieden, dass bereits ausgewählte Checkboxen versehentlich abgewählt werden.

KI-Assistenten generieren Suchstrategien, korrigieren Selektoren automatisch bei ID-Änderungen und schlagen Aussagen zum Status von Optionsfeldern und Kontrollkästchen vor. KI-Tools erstellen außerdem automatisch vollständige Formularausfülltests anhand von Bildschirmaufnahmen, wodurch der manuelle Programmier- und Wartungsaufwand reduziert wird.

Ja. KI-gestützt Selenium Die Tools analysieren das DOM, lernen stabile Attribute und überschreiben XPath- oder CSS-Selektoren, wenn sich IDs zwischen Releases ändern. Diese Selbstheilungsfunktion sorgt dafür, dass Formularsteuerelementtests nach jeder UI-Änderung ohne manuelle Locator-Aktualisierungen erfolgreich durchlaufen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: