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 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.
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.
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.
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:
- Periksa kembali locator Anda menggunakan FirePath atau Inspect Element di Chrome.
- Konfirmasikan bahwa nilai yang Anda gunakan dalam kode sesuai dengan nilai elemen saat ini di halaman.
- 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()orBy.cssSelector(), yang lebih dapat diandalkan tetapi sedikit lebih kompleks. - Terkadang masalahnya adalah waktu โ WebDriver mengeksekusi kode Anda sebelum halaman selesai dimuat.
- Tambahkan jeda sebelum
findElement()menggunakan penundaan implisit atau eksplisit untuk memberi elemen waktu untuk dirender.




