Odaberite radio gumb i označiteBox in Selenium

⚡ Pametni sažetak

Odaberite radio gumb i označiteBox in Selenium Obrađuje WebDriver tehnike za automatizaciju dviju najčešćih kontrola obrazaca. Ovaj vodič objašnjava kako metode click() i isSelected() prebacuju radio opcije i potvrdne okvire te vodi kroz rad s njima. Java kod i dijeli savjete za rješavanje problema s osjetljivim lokatorima.

  • 🔘 Radio Button Toggle: Pomoću metode click() na WebElementu odaberite radio gumb; odabirom druge opcije automatski se poništava odabir prethodne.
  • ☑️ Okvir Toggle: Ista metoda click() uključuje i isključuje potvrdni okvir; dvostrukim pozivanjem vraća se okvir u izvorno stanje.
  • Provjera države: Pozovite isSelected() za potvrdu trenutnog stanja prekidača i potvrdite TRUE za označene i FALSE za neoznačene kontrole.
  • 🧪 Rad Java Primjer: Cijeli program pokreće Guru99 demo i potvrdni okvir za persistent-login na Facebooku za demonstraciju oba toka.
  • 🛠️ Pouzdani lokatori: Prebacite se na By.xpath() ili By.cssSelector() kada se ID-ovi dinamički mijenjaju i dodajte eksplicitna čekanja kako biste spriječili NoSuchElementException.

Odaberite radio gumb i označiteBox in Selenium

Radio gumb unutra Selenium

Radio gumbi se uključuju pomoću click() metoda, baš kao i bilo koji drugi WebElement u SeleniumBudući da samo jedna opcija u radio grupi može biti aktivna istovremeno, klikom na drugu opciju automatski se poništava odabir prve.

Korištenje https://demo.guru99.com/test/radio.html kao stranicu za vježbu, imajte na umu da radio1.click() odabire radio gumb „Opcija1“. Pozivanje radio2.click() zatim odabire „Opcija2“, a ostavlja „Opcija1“ neodabranu.

Odabir radio gumba na Guru99 demo stranica

Kako odabrati potvrdni okvir u Selenium

TogglUključivanje ili isključivanje potvrdnog okvira također se vrši pomoću click() metoda. Donji kod dva puta klikne na Facebookov potvrdni okvir "Ostani prijavljen" i ispisuje TRUE kada je potvrdni okvir uključen, a FALSE kada je isključen.

Selenium kod klikom na potvrdni okvir Facebook Ostani prijavljen/a

Izlaz konzole koji prikazuje stanje preklopnog okvira za potvrdu

The isSelected() Metoda se koristi za potvrdu je li potvrdni okvir uključen ili isključen - ključna tvrdnja pri validaciji stanja obrasca u testnim slučajevima.

Evo još jednog primjera stranice: https://demo.guru99.com/test/radio.html.

Selenium kod za provjeru stanja potvrdnog okvira pomoću isSelected()

potpun Code Primjer

Evo kompletnog radnog koda koji uključuje/isključuje oba radio gumba i potvrdni okvir za persist-login na 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();
    }
}

Rješavanje problema

Ako naiđete NoSuchElementException Prilikom pronalaska elemenata, to znači da element nije bio prisutan u trenutku kada je WebDriver pristupio stranici. Koristite donju kontrolnu listu za brzi oporavak:

  1. Ponovno provjerite svoj lokator pomoću FirePatha ili Inspect Elementa u Chromeu.
  2. Potvrdite da vrijednost koju ste koristili u kodu odgovara trenutnoj vrijednosti elementa na stranici.
  3. Neki elementi imaju dinamičke atribute, slično onima koje možete vidjeti kada odaberite padajući izbornik u Selenium webdriverU tim slučajevima, preferirajte By.xpath() or By.cssSelector(), koji su pouzdaniji, ali nešto složeniji.
  4. Ponekad je problem u vremenu - WebDriver je izvršio vaš kod prije nego što se stranica učitala.
  5. Dodajte čekanje prije findElement() korištenje implicitnih ili eksplicitnih čekanja kako bi se elementu dalo vremena za renderiranje.

Pitanja i odgovori

Pozovite click() na istom WebElementu u okviru za potvrdu da biste ga isključili. Ne postoji posebna metoda za poništavanje odabira. Koristite isSelected() prije klika ako želite poništiti odabir samo kada je okvir za potvrdu trenutno označen, što štiti logiku testiranja.

isSelected() vraća true kada je označen potvrdni okvir ili radio gumb. isEnabled() vraća true kada element može primati korisnički unos. Služe različitim svrhama: isSelected() provjerava stanje, dok isEnabled() provjerava prihvaća li element interakciju.

Koristite findElements() s lokatorom kao što je By.xpath(“//input[@type='checkbox']”) za dohvaćanje svih WebElements potvrdnih okvira, prođite kroz popis, provjerite isSelected() i pozovite click() samo na one koji nisu označeni. Time se izbjegava slučajno poništavanje odabira već označenih okvira.

AI asistenti generiraju strategije lokatora, samostalno ispravljaju selektore kada se ID-ovi promijene i predlažu tvrdnje za stanje radija i potvrdnih okvira. AI alati također automatski generiraju testove za popunjavanje obrazaca od početka do kraja iz snimaka zaslona, ​​smanjujući trud ručnog kodiranja i održavanja testova.

Da. Pokreće ga umjetna inteligencija Selenium Alati analiziraju DOM, uče stabilne atribute i prepisuju XPath ili CSS selektore kada se ID-ovi promijene između izdanja. Ova sposobnost samoobnavljanja osigurava prolaznost testova kontrole obrazaca bez ručnih ažuriranja lokatora nakon svakog podešavanja korisničkog sučelja.

Sažmite ovu objavu uz: