Válassza ki a rádiógombot, és jelölje beBox in Selenium

⚡ Okos összefoglaló

Válassza ki a rádiógombot, és jelölje beBox in Selenium bemutatja a WebDriver technikáit két leggyakoribb űrlapvezérlő automatizálásához. Ez az oktatóanyag elmagyarázza, hogyan kapcsolják be a click() és isSelected() metódusok a rádiókat és a jelölőnégyzeteket, és bemutatja a működésüket. Java kódot, és hibaelhárítási tippeket oszt meg a törékeny lokátorokkal kapcsolatban.

  • 🔘 Rádiógomb Toggle: Használd a click() metódust a WebElementen egy választógomb kiválasztásához; egy másik opció kiválasztása automatikusan megszünteti az előző kijelölését.
  • ☑️ jelölőnégyzetet Toggle: Ugyanaz a click() metódus be- és kikapcsolja a jelölőnégyzetet; kétszeri meghívása visszaállítja a jelölőnégyzet eredeti állapotát.
  • Állami ellenőrzés: Az isSelected() függvény meghívásával megerősíthetjük az aktuális kapcsoló állapotát, és TRUE értéket állíthatunk be a bejelölt, FALSE értéket pedig a nem ellenőrzött vezérlők esetén.
  • 🧪 Dolgozó Java Példa: A teljes program vezérli a Guru99 demó és Facebook persist-login jelölőnégyzet mindkét folyamat bemutatására.
  • 🇧🇷 Megbízható helymeghatározók: Válts By.xpath() vagy By.cssSelector() használatára, amikor az azonosítók dinamikusan változnak, és adj hozzá explicit várakozásokat a NoSuchElementException elkerülése érdekében.

Válassza ki a rádiógombot, és jelölje beBox in Selenium

Rádió gomb be Selenium

A rádiógombok a gombbal kapcsolhatók be. click() metódus, akárcsak bármely más webelem a SeleniumMivel egy választógombcsoporton belül egyszerre csak egy lehetőség lehet aktív, egy második lehetőségre kattintva automatikusan törli az első kijelölését.

<p></p> https://demo.guru99.com/test/radio.html gyakorlóoldalként vegye figyelembe, hogy radio1.click() kiválasztja az „1. ​​opció” választógombot. Hívás radio2.click() majd kiválasztja a „2. opciót”, miközben az „1. ​​opciót üresen hagyja.

Rádiógomb kiválasztása a Guru99 demóoldal

Hogyan jelöljünk ki egy jelölőnégyzetet a Selenium

TogglEgy jelölőnégyzet be- és kikapcsolása a click() metódus. Az alábbi kód kétszer kattint a Facebook „Bejelentkezve maradjak” jelölőnégyzetére, és IGAZ értéket ír ki, ha a jelölőnégyzet be van kapcsolva, és HAMIS értéket, ha kikapcsolva.

Selenium kód kattintás Facebook Maradjak bejelentkezve jelölőnégyzet

A konzol kimenete a jelölőnégyzet be- és kikapcsolási állapotát mutatja

Az isSelected() A metódus annak megerősítésére szolgál, hogy egy jelölőnégyzet be van-e kapcsolva vagy ki van-e kapcsolva – ez egy kulcsfontosságú állítás az űrlap állapotának validálásakor tesztesetekben.

Itt egy másik példaoldal: https://demo.guru99.com/test/radio.html.

Selenium kód, amely az isSelected() függvénnyel ellenőrzi a jelölőnégyzet állapotát

teljes Code Példa

Itt található a teljes működő kód, amely mindkét rádiógombot és a Facebook persist-login jelölőnégyzetet is bekapcsolja.

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

Hibaelhárítás

Ha találkozik NoSuchElementException elemek keresésekor az azt jelenti, hogy az elem nem volt jelen abban a pillanatban, amikor a WebDriver elérte az oldalt. Használja az alábbi ellenőrzőlistát a gyors helyreállításhoz:

  1. Ellenőrizd újra a helymeghatározódat a FirePath vagy az Inspect Element használatával a Chrome-ban.
  2. Győződjön meg arról, hogy a kódban használt érték megegyezik az oldalon található elem aktuális értékével.
  3. Néhány elem dinamikus attribútumokkal rendelkezik, hasonlóan ahhoz, amit akkor láthat, amikor válasszon ki egy legördülő menüt Selenium webdriver. Ilyen esetekben inkább By.xpath() or By.cssSelector(), amelyek megbízhatóbbak, de kissé bonyolultabbak.
  4. Néha a probléma az időzítéssel van – a WebDriver a kódot az oldal betöltése előtt végrehajtja.
  5. Várakozás hozzáadása előtte findElement() implicit vagy explicit várakozások használata az elem rendereléséhez.

GYIK

Hívd meg a click() metódust ugyanazon a jelölőnégyzet webelemen a kikapcsolásához. Nincs dedikált deselect metódus. Használd az isSelected() metódust kattintás előtt, ha csak akkor szeretnéd megszüntetni a kijelölést, amikor a jelölőnégyzet be van jelölve, így biztonságban lesz a tesztlogika.

Az isSelected() függvény igaz értéket ad vissza, ha egy jelölőnégyzet vagy választógomb be van jelölve. Az isEnabled() függvény pedig igaz értéket ad vissza, ha egy elem képes felhasználói bevitelt fogadni. Különböző célokat szolgálnak: az isSelected() az állapotot ellenőrzi, míg az isEnabled() azt, hogy az elem elfogad-e interakciót.

Használd a findElements() függvényt egy lokátorral, például a By.xpath(“//input[@type='checkbox']”) függvényt az összes jelölőnégyzet WebElements lekéréséhez, menj végig a listán, jelöld be az isSelected() jelölőnégyzetet, és csak azokra hívd meg a click() függvényt, amelyek nincsenek bejelölve. Ez elkerüli a már bejelölt jelölőnégyzetek véletlen kijelölésének megszüntetését.

A mesterséges intelligencia által működtetett asszisztensek helymeghatározó stratégiákat generálnak, önjavító szelektorokat végeznek az azonosítók változása esetén, és javaslatokat tesznek a rádió és a jelölőnégyzet állapotára vonatkozóan. A mesterséges intelligencia által működtetett eszközök automatikusan generálnak teljes körű űrlapkitöltési teszteket a képernyőfelvételekből, csökkentve a manuális kódolást és a tesztkarbantartási erőfeszítéseket.

Igen. Mesterséges intelligencia által vezérelt Selenium Az eszközök elemzik a DOM-ot, stabil attribútumokat tanulnak, és átírják az XPath vagy CSS szelektorokat, amikor az azonosítók megváltoznak a kiadások között. Ez az önjavító képesség biztosítja az űrlapvezérlő tesztek sikeres végrehajtását anélkül, hogy manuálisan frissíteni kellene a lokátort minden felhasználói felület módosítása után.

Foglald össze ezt a bejegyzést a következőképpen: