Valige raadionupp ja märkigeBox in Selenium

⚡ Nutikas kokkuvõte

Valige raadionupp ja märkigeBox in Selenium käsitleb WebDriveri tehnikaid kahe kõige levinuma vormikontrolli automatiseerimiseks. See õpetus selgitab, kuidas meetodid click() ja isSelected() lülitavad sisse/välja raadioid ja märkeruute, tutvustab nende toimimist. Java kood ja jagab tõrkeotsingu näpunäiteid habraste lokaatorite kohta.

  • 🔘 Raadio nupp Toggle: Raadio nupu valimiseks kasutage veebielemendi (WebElement) meetodit click(); teise valiku valimine tühistab automaatselt eelmise valiku.
  • ☑️ Checkbox Toggle: Sama click() meetod lülitab märkeruudu sisse ja välja; selle kaks korda kutsumine taastab kasti algse oleku.
  • Riiklik kinnitus: Praeguse lüliti oleku kinnitamiseks ja märgitud juhtelementide puhul väärtuse TRUE ning märkimata juhtelementide puhul väärtuse FALSE kinnitamiseks kutsutakse välja funktsioon isSelected().
  • 🧪 Töö Java Näide: Täielik programm juhib Guru99 demo ja Facebooki püsiva sisselogimise märkeruut mõlema voo demonstreerimiseks.
  • 🛠️ Usaldusväärsed lokaatorid: Kui ID-d muutuvad dünaamiliselt, lülita By.xpath() või By.cssSelector() peale ja lisa selgesõnalised ooteajad, et vältida NoSuchElementException'i.

Valige raadionupp ja märkigeBox in Selenium

Raadio nupp sisse Selenium

Raadionuppe saab sisse lülitada, kasutades click() meetod, nagu iga teine ​​veebielement SeleniumKuna raadiogrupis saab korraga olla aktiivne ainult üks suvand, tühistab teise suvandi klõpsamine automaatselt esimese valiku.

Kasutamine https://demo.guru99.com/test/radio.html harjutuslehena pange tähele, et radio1.click() valib raadionupu „Valik 1”. Helistamine radio2.click() seejärel valib „Valik 2“, jättes „Valik 1“ valimata.

Raadionuppude valik Guru99 demoleht

Kuidas valida märkeruut Selenium

TogglMärkeruudu sisse või välja lülitamine toimub ka nupu abil. click() meetod. Allolev kood klõpsab kaks korda Facebooki märkeruudul „Hoia mind sisselogituna“ ja kuvab väärtuse TRUE, kui märkeruut on sisse lülitatud, ja FALSE, kui see on välja lülitatud.

Selenium koodi klõpsamine Facebooki märkeruudul „Hoia mind sisse logituna“

Konsooli väljund, mis kuvab märkeruudu lülitusnupu olekut

. isSelected() Meetodit kasutatakse märkeruudu sisse- või väljalülitamise kinnitamiseks – see on oluline väide vormi oleku valideerimisel testides.

Siin on veel üks näidisleht: https://demo.guru99.com/test/radio.html.

Selenium kood, mis kontrollib märkeruudu olekut isSelected() abil

täielik Code Näide

Siin on täielik toimiv kood, mis lülitab sisse nii raadionupud kui ka Facebooki persist-login märkeruudu.

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

Probleemid

Kui kohtate NoSuchElementException Elementide leidmisel tähendab see, et element ei olnud WebDriveri lehele ligipääsemise hetkel olemas. Kiireks taastamiseks kasutage allolevat kontroll-loendit:

  1. Kontrollige oma lokaatorit uuesti FirePathi või Chrome'i Inspect Elementi abil.
  2. Veenduge, et koodis kasutatud väärtus vastab lehel oleva elemendi praegusele väärtusele.
  3. Mõnel elemendil on dünaamilised atribuudid, mis sarnanevad sellele, mida võite näha siis, kui valige rippmenüü Selenium VeebidraiverSellistel juhtudel eelistage By.xpath() or By.cssSelector(), mis on usaldusväärsemad, kuid veidi keerukamad.
  4. Mõnikord on probleemiks ajastus – WebDriver käivitas teie koodi enne lehe laadimise lõppu.
  5. Lisa ooteaeg enne findElement() kasutades elemendi renderdamiseks aega andmiseks nii otseseid kui ka kaudseid ooteaegu.

KKK

Selle väljalülitamiseks kutsu sama märkeruudu veebielemendi (WebElement) peale välja funktsioon click(). Spetsiaalset valiku tühistamise meetodit pole. Kasuta isSelected() enne klõpsamist, kui soovid valiku tühistada ainult siis, kui märkeruut on parajasti märgitud, mis hoiab testiloogika turvalisena.

isSelected() tagastab väärtuse „true”, kui märkeruut või raadionupp on märgitud. isEnabled() tagastab väärtuse „true”, kui element saab vastu võtta kasutaja sisendit. Neil on erinevad eesmärgid: isSelected() valideerib olekut, samas kui isEnabled() valideerib, kas element aktsepteerib interaktsiooni.

Kasuta findElements() funktsiooni koos lokaatoriga, näiteks By.xpath(“//input[@type='checkbox']”), et saada kõik märkeruutude veebielemendid, käi loendis tsükkel läbi, märgi isSelected() ruut ja kutsu click() funktsiooni välja ainult nende puhul, mis on märkimata. See hoiab ära juba märgitud ruutude tahtmatu valiku tühistamise.

Tehisintellekti assistendid genereerivad lokaliseerimisstrateegiaid, parandavad ise selektoreid ID-de muutumisel ning pakuvad välja väiteid raadio ja märkeruutude oleku kohta. Tehisintellekti tööriistad genereerivad ekraanisalvestiste põhjal automaatselt ka otsast lõpuni vormide täitmise teste, vähendades käsitsi kodeerimise ja testide hoolduse pingutust.

Jah. Tehisintellektil põhinev Selenium Tööriistad analüüsivad DOM-i, õpivad stabiilseid atribuute ja kirjutavad XPathi või CSS-i selektoreid ümber, kui ID-d versioonide vahel muutuvad. See isetervendav võimekus tagab vormikontrolli testide õnnestumise ilma käsitsi lokaatori värskendamiseta pärast iga kasutajaliidese muudatust.

Võta see postitus kokku järgmiselt: