Bu eğiticide, aşağıdaki form öğelerinin nasıl tanımlanacağını göreceğiz
- Radyo düğmesi
- Onay Kutusu
Radyo düğmesi
Radyo Düğmeleri de click () yöntemi kullanılarak açılabilir.
Alıştırma için http://demo.guru99.com/test/radio.html kullanarak, radyo1.click () 'in "Seçenek1" radyo düğmesinde geçiş yaptığına bakın. radio2.click (), "Option2" radyo düğmesini "Option1" seçilmemiş halde bırakır.
Onay Kutusu
Bir onay kutusunun açılması / kapatılması da click () yöntemi kullanılarak yapılır .
Aşağıdaki kod, Facebook'un "Oturumumu açık tut" onay kutusunu iki kez tıklayacak ve ardından sonuç, açıldığında DOĞRU, kapatıldığında YANLIŞ olarak çıktılayacaktır.
isSelected () yöntemi, Onay Kutusunun açılıp kapatılmadığını bilmek için kullanılır.
İşte başka bir örnek: http://demo.guru99.com/test/radio.html
Kodu tamamla
İşte tam çalışma kodu
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) {// nesnelerin / değişkenlerin bildirimi ve somutlaştırılmasıSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver sürücüsü = yeni ChromeDriver ();driver.get ("http://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 Button1 seçildiradio1.click ();System.out.println ("Radyo Düğmesi Seçeneği 1 Seçildi");// Radyo Düğmesi1 seçimi kaldırılır ve Radyo Düğmesi2 seçilirradio2.click ();System.out.println ("Radyo Düğmesi Seçeneği 2 Seçildi");// CheckBox SeçimiWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Bu, Onay kutusunu değiştiriroption1.click ();// Onay kutusunun açılıp açılmadığını kontrol edinif (option1.isSelected ()) {System.out.println ("Onay Kutusu Açık");} Başka {System.out.println ("Onay Kutusu Kapalı");}// Onay Kutusunu seçme ve isSelected Metodu kullanmadriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = sürücü.findElement (By.id ("kalıcı kutu"));for (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook Devam Ediyor Onay Kutusu Durumu -" + chkFBPersist.isSelected ());}//driver.close ();}}
Sorun giderme
Öğeleri bulurken NoSuchElementException () ile karşılaşırsanız, bu, öğenin Web sürücüsünün sayfaya eriştiği noktada sayfada bulunmadığı anlamına gelir.
- Chrome'da Firepath veya Inspect Element kullanarak bulucunuzu tekrar kontrol edin.
- Kodda kullandığınız değerin şu anda Firepath'teki öğeden farklı olup olmadığını kontrol edin.
- Bazı özellikler, birkaç öğe için dinamiktir. Değerin farklı olduğunu ve dinamik olarak değiştiğini fark ederseniz, daha güvenilir ancak karmaşık yollar olan By.xpath () veya By.cssSelector () kullanmayı düşünün.
- Bazen bu bir bekleme sorunu da olabilir, yani Web sürücüsü kodunuzu sayfa tamamen yüklenmeden önce bile çalıştırabilir, vb.
- Örtük veya açık beklemeleri kullanarak findElement () 'den önce bir bekleme ekleyin.
Özet
- Aşağıdaki tablo, yukarıda tartışılan her bir öğe türüne erişmek için komutları özetlemektedir.
Eleman | Komut | Açıklama |
---|---|---|
Onay Kutusu, Radyo Düğmesi | Tıklayın() | öğeyi açmak / kapatmak için kullanılır |