Pilih Tombol Radio dan PeriksaBox in Selenium

โšก Ringkasan Cerdas

Pilih Tombol Radio dan PeriksaBox in Selenium Tutorial ini membahas teknik WebDriver untuk mengotomatisasi dua kontrol formulir yang paling umum. Tutorial ini menjelaskan cara metode click() dan isSelected() untuk mengaktifkan/menonaktifkan radio dan kotak centang, serta memandu langkah-langkah kerjanya. Java kode, dan berbagi kiat pemecahan masalah untuk locator yang rapuh.

  • ๐Ÿ”˜ Tombol radio Toggle: Gunakan metode click() pada WebElement untuk memilih tombol radio; memilih opsi lain akan secara otomatis membatalkan pilihan opsi sebelumnya.
  • โ˜‘๏ธ kotak centang Toggle: Metode click() yang sama dapat mengaktifkan dan menonaktifkan kotak centang; memanggilnya dua kali akan mengembalikan kotak tersebut ke keadaan semula.
  • โœ… Verifikasi Negara: Panggil isSelected() untuk mengkonfirmasi status toggle saat ini dan berikan nilai TRUE untuk kontrol yang dicentang dan FALSE untuk kontrol yang tidak dicentang.
  • ๐Ÿงช Kerja Java Contoh: Program lengkap ini mendorong GuruDemo 99 dan kotak centang login tetap Facebook untuk mendemonstrasikan kedua alur tersebut.
  • ๏ธ Pencari Lokasi yang Andal: Beralihlah ke By.xpath() atau By.cssSelector() ketika id berubah secara dinamis dan tambahkan penundaan eksplisit untuk mencegah NoSuchElementException.

Pilih Tombol Radio dan PeriksaBox in Selenium

Tombol Radio masuk Selenium

Tombol radio diaktifkan menggunakan click() metode, sama seperti WebElement lainnya di SeleniumKarena hanya satu opsi dalam grup radio yang dapat aktif pada satu waktu, mengklik opsi kedua secara otomatis akan membatalkan pilihan opsi pertama.

Menggunakan https://demo.guru99.com/test/radio.html Sebagai halaman latihan, perhatikan bahwa radio1.click() memilih tombol radio โ€œOpsi 1โ€. Memanggil radio2.click() lalu memilih โ€œOpsi2โ€ sambil membiarkan โ€œOpsi1โ€ tidak dipilih.

Pemilihan tombol radio pada GuruHalaman demo 99

Cara Memilih Kotak Centang di Selenium

TogglMengaktifkan atau menonaktifkan kotak centang juga dilakukan dengan menggunakan click() Metode ini. Kode di bawah ini mengklik kotak centang "Tetap masuk" Facebook dua kali dan mencetak TRUE ketika kotak centang diaktifkan dan FALSE ketika dinonaktifkan.

Selenium kode dengan mengklik kotak centang Tetap masuk Facebook

Output konsol yang menunjukkan status pengaktifan/penonaktifan kotak centang.

The isSelected() Metode ini digunakan untuk memastikan apakah kotak centang diaktifkan atau dinonaktifkan โ€” sebuah pernyataan kunci saat memvalidasi status formulir dalam kasus uji.

Berikut contoh halaman lainnya: https://demo.guru99.com/test/radio.html.

Selenium kode yang memverifikasi status kotak centang dengan isSelected()

Menyelesaikan Code Example

Berikut adalah kode lengkap yang berfungsi untuk mengaktifkan/menonaktifkan kedua tombol radio dan kotak centang login tetap 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();
    }
}

Penyelesaian masalah

Jika Anda bertemu NoSuchElementException Saat mencari elemen, ini berarti elemen tersebut tidak ada pada saat WebDriver mengakses halaman. Gunakan daftar periksa di bawah ini untuk memulihkan dengan cepat:

  1. Periksa kembali locator Anda menggunakan FirePath atau Inspect Element di Chrome.
  2. Konfirmasikan bahwa nilai yang Anda gunakan dalam kode sesuai dengan nilai elemen saat ini di halaman.
  3. Beberapa elemen memiliki atribut dinamis, mirip dengan apa yang mungkin Anda lihat saat Anda pilih menu tarik-turun di Selenium webdriverDalam kasus tersebut, lebih baik By.xpath() or By.cssSelector(), yang lebih dapat diandalkan tetapi sedikit lebih kompleks.
  4. Terkadang masalahnya adalah waktu โ€” WebDriver mengeksekusi kode Anda sebelum halaman selesai dimuat.
  5. Tambahkan jeda sebelum findElement() menggunakan penundaan implisit atau eksplisit untuk memberi elemen waktu untuk dirender.

Pertanyaan Umum Demo Slot

Panggil click() pada WebElement checkbox yang sama untuk menonaktifkannya. Tidak ada metode khusus untuk membatalkan pilihan. Gunakan isSelected() sebelum mengklik jika Anda ingin membatalkan pilihan hanya ketika checkbox sedang dicentang, yang menjaga logika pengujian tetap aman.

`isSelected()` mengembalikan `true` ketika kotak centang atau tombol radio dicentang. `isEnabled()` mengembalikan `true` ketika suatu elemen dapat menerima input dari pengguna. Keduanya memiliki tujuan yang berbeda: `isSelected()` memvalidasi status, sedangkan `isEnabled()` memvalidasi apakah elemen tersebut menerima interaksi.

Gunakan findElements() dengan locator seperti By.xpath(โ€œ//input[@type='checkbox']โ€) untuk mendapatkan semua WebElement checkbox, lakukan perulangan pada daftar tersebut, periksa isSelected(), dan panggil click() hanya pada checkbox yang tidak dicentang. Ini menghindari pembatalan pilihan secara tidak sengaja pada checkbox yang sudah dicentang.

Asisten AI menghasilkan strategi pencarian lokasi, memperbaiki sendiri pemilih saat ID berubah, dan menyarankan pernyataan untuk status tombol radio dan kotak centang. Alat AI juga secara otomatis menghasilkan pengujian pengisian formulir ujung-ke-ujung dari rekaman layar, mengurangi pengkodean manual dan upaya pemeliharaan pengujian.

Ya. Didukung AI. Selenium Alat ini menganalisis DOM, mempelajari atribut yang stabil, dan menulis ulang pemilih XPath atau CSS ketika ID berubah antar rilis. Kemampuan perbaikan mandiri ini menjaga agar pengujian kontrol formulir tetap berjalan tanpa pembaruan locator manual setelah setiap perubahan UI.

Ringkaslah postingan ini dengan: