Radyo Düğmesini Seçin ve Kontrol EdinBox in Selenium

⚡ Akıllı Özet

Radyo Düğmesini Seçin ve Kontrol EdinBox in Selenium Bu eğitim, en yaygın form kontrollerinden ikisini otomatikleştirmek için WebDriver tekniklerini ele almaktadır. click() ve isSelected() yöntemlerinin radyo düğmelerini ve onay kutularını nasıl açıp kapattığını açıklar ve çalışma prensiplerini adım adım gösterir. Java Kod yazıyor ve kırılgan konum belirleyiciler için sorun giderme ipuçları paylaşıyor.

  • 🔘 Radyo düğmesi Toggle: WebElement üzerinde click() yöntemini kullanarak bir radyo düğmesi seçebilirsiniz; başka bir seçenek seçmek, önceki seçeneğin seçimini otomatik olarak kaldırır.
  • ☑️ Onay Kutusu Toggle: Aynı click() metodu bir onay kutusunu açıp kapatır; iki kez çağrıldığında kutu orijinal durumuna döner.
  • Durum Doğrulama: Geçerli geçiş durumunu doğrulamak ve işaretli kontroller için TRUE, işaretsiz kontroller için FALSE değerini döndürmek için isSelected() işlevini çağırın.
  • 🧪 Çalışma Java Örnek: Programın tamamı yönlendirir Guru99 demo ve Facebook kalıcı oturum açma onay kutusu, her iki akışı da göstermek için kullanılmıştır.
  • Güvenilir Konum Belirleyiciler: Kimlikler dinamik olarak değiştiğinde By.xpath() veya By.cssSelector() yöntemine geçin ve NoSuchElementException hatasını önlemek için açık bekleme süreleri ekleyin.

Radyo Düğmesini Seçin ve Kontrol EdinBox in Selenium

Radyo Düğmesi girişi Selenium

Radyo düğmeleri şu şekilde açılıp kapatılır: click() yöntem, tıpkı diğer herhangi bir WebElement gibi SeleniumRadyo düğmesi grubunda aynı anda yalnızca bir seçenek etkin olabileceğinden, ikinci bir seçeneğe tıklamak otomatik olarak birinci seçeneğin seçimini kaldırır.

kullanma https://demo.guru99.com/test/radio.html Bu bir alıştırma sayfasıdır, lütfen şunu unutmayın: radio1.click() “Seçenek 1” radyo düğmesini seçer. Arama radio2.click() Ardından “Seçenek 1”i seçili bırakmadan “Seçenek 2”yi seçer.

Radyo düğmesi seçimi Guru99 demo sayfası

Bir onay kutusunu nasıl seçersiniz? Selenium

TogglBir onay kutusunun açılıp kapatılması da şu şekilde yapılır: click() Aşağıdaki kod, Facebook'un "Oturumumu açık tut" onay kutusuna iki kez tıklar ve onay kutusu işaretlendiğinde TRUE, işaretlenmediğinde ise FALSE yazdırır.

Selenium Facebook'un "Oturumumu açık tut" onay kutusuna tıklama kodu

Onay kutusunun durumunu gösteren konsol çıktısı

MKS isSelected() Bu yöntem, bir onay kutusunun açık veya kapalı olup olmadığını doğrulamak için kullanılır; bu, test senaryolarında form durumunu doğrularırken önemli bir doğrulama işlemidir.

İşte bir başka örnek sayfa: https://demo.guru99.com/test/radio.html.

Selenium isSelected() fonksiyonu ile onay kutusunun durumunu doğrulayan kod.

Tamamla Code Örnek E-posta

İşte hem radyo düğmelerini hem de Facebook oturum açma onay kutusunu açıp kapatan, çalışan kodun tamamı.

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

Sorun giderme

Karşılaşırsan NoSuchElementException Öğeleri bulurken, bu, WebDriver'ın sayfaya eriştiği anda öğenin mevcut olmadığı anlamına gelir. Hızlı kurtarma için aşağıdaki kontrol listesini kullanın:

  1. Chrome'da FirePath veya Öğeyi İncele özelliğini kullanarak konum belirleyicinizi tekrar kontrol edin.
  2. Kodda kullandığınız değerin, sayfadaki öğenin geçerli değeriyle eşleştiğinden emin olun.
  3. Bazı öğelerin, tıpkı daha önce gördüğünüz gibi, dinamik nitelikleri vardır. açılır menüden birini seçin Selenium Web SürücüsüBu durumlarda tercih edin. By.xpath() or By.cssSelector()Bunlar daha güvenilir ancak biraz daha karmaşıktır.
  4. Bazen sorun zamanlamayla ilgili oluyor; WebDriver, sayfa yüklenmesi tamamlanmadan önce kodunuzu çalıştırıyor.
  5. Öncesinde bir bekleme ekleyin findElement() Öğenin işlenmesi için zaman tanımak amacıyla örtük veya açık bekleme süreleri kullanmak.

SSS

Aynı onay kutusu WebElement'inde click() yöntemini çağırarak onay kutusunun işaretini kaldırabilirsiniz. Özel bir işaret kaldırma yöntemi bulunmamaktadır. Yalnızca onay kutusu işaretliyken işareti kaldırmak istiyorsanız, tıklamadan önce isSelected() yöntemini kullanın; bu, test mantığının güvenliğini sağlar.

`isSelected()` yöntemi, bir onay kutusu veya radyo düğmesi işaretlendiğinde `true` değerini döndürür. `isEnabled()` yöntemi ise bir öğenin kullanıcı girdisi alabileceğini gösterdiğinde `true` değerini döndürür. Bu iki yöntem farklı amaçlara hizmet eder: `isSelected()` durumu doğrular, `isEnabled()` ise öğenin etkileşimi kabul edip etmediğini doğrular.

Tüm onay kutusu WebElements'lerini almak için By.xpath(“//input[@type='checkbox']”) gibi bir konum belirleyici ile findElements() yöntemini kullanın, listede döngü yapın, isSelected() yöntemini kontrol edin ve yalnızca işaretlenmemiş olanlar için click() yöntemini çağırın. Bu, zaten işaretlenmiş kutuların yanlışlıkla seçiminin kaldırılmasını önler.

Yapay zekâ asistanları, konum belirleme stratejileri oluşturur, kimlikler değiştiğinde seçicileri otomatik olarak onarır ve radyo düğmesi ve onay kutusu durumu için doğrulama önerileri sunar. Yapay zekâ araçları ayrıca ekran kayıtlarından uçtan uca form doldurma testlerini otomatik olarak oluşturarak manuel kodlama ve test bakım çabasını azaltır.

Evet. Yapay zeka destekli Selenium Bu araçlar DOM'u analiz eder, kararlı öznitelikleri öğrenir ve sürümler arasında kimlikler değiştiğinde XPath veya CSS seçicilerini yeniden yazar. Bu kendi kendini onarma özelliği, her kullanıcı arayüzü değişikliğinden sonra manuel konum belirleyici güncellemeleri olmadan form denetimi testlerinin başarılı olmasını sağlar.

Bu yazıyı şu şekilde özetleyin: