Neden Eleman Bul komutuna ihtiyacınız var?
Bir web sayfasıyla etkileşim, kullanıcının web öğesini bulmasını gerektirir. Öğe Bul komutu, web sayfasındaki bir (bir) web öğesini benzersiz şekilde tanımlamak için kullanılır. Oysa, Öğeleri Bul komutu, web sayfasındaki web öğeleri listesini benzersiz şekilde tanımlamak için kullanılır. Kimlik, Ad, Sınıf Adı, Bağlantı Metni, Kısmi Bağlantı Metni, Etiket Adı ve XPATH gibi web sayfasında bir web öğesini benzersiz şekilde tanımlamanın birden çok yolu vardır.
FindElement komut sözdizimi:
Selenium Find Element komutu, By nesnesini parametre olarak alır ve Selenium'da WebElement türünde bir nesne döndürür. Nesneye göre, sırayla ID Selenium'a göre öğe bulma, Ad, Sınıf Adı, XPATH vb. Gibi çeşitli konum belirleme stratejileriyle kullanılabilir. Selenium web sürücüsünde FindElement komutunun sözdizimi aşağıdadır.
WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));
Konum Belirleme Stratejisi aşağıdaki değerlerden herhangi biri olabilir.
- İD
- Selenyum elementi isme göre bulur
- Sınıf adı
- Etiket adı
- Bağlantı metni
- Kısmi Bağlantı Metni
- XPATH
Konum Belirleyici Değeri, bir web öğesinin tanımlanabileceği benzersiz değerdir. Kimlik veya ad gibi belirli özellikler kullanılarak web öğelerinin benzersiz şekilde tanımlanabilmesini sağlamak geliştiricilerin ve test uzmanlarının sorumluluğundadır.
Misal:
WebElement loginLink = driver.findElement (By.linkText ("Oturum Aç"));
FindElements komut sözdizimi:
Selenium'daki FindElements komutu, parametre olarak Nesneye göre'yi alır ve web öğelerinin bir listesini döndürür. Verilen konum belirleyici stratejisi ve konum belirleyici değeri kullanılarak bulunan hiçbir öğe yoksa boş bir liste döndürür. Elemanları bul komutunun sözdizimi aşağıdadır.
ListelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Misal:
ListlistOfElements = driver.findElements (By.xpath ("// div"));
Eleman Vs Bul Eleman bul
Eleman bul ve eleman bul komutları arasındaki temel farklar aşağıdadır.
Eleman Bul | Öğeleri Bul |
---|---|
Aynı konum belirleyiciyle birden fazla web öğesi bulunursa en çok ilk web öğesini döndürür | Web öğelerinin bir listesini verir |
Konum belirleyici stratejisiyle eşleşen öğe yoksa NoSuchElementException istisnası atar | Konum belirleme stratejisiyle eşleşen web öğesi yoksa boş bir liste döndürür |
XPath ile öğe bul yalnızca bir web öğesi bulur | Konum belirleme stratejisiyle eşleşen bir dizi öğe bulacaktır. |
Uygulanamaz | Her Web öğesi, tıpkı bir dizi gibi 0'dan başlayan bir sayı ile dizine alınır. |
Örnek: Öğe Bul komutu nasıl kullanılır
Aşağıdaki uygulama demo amaçlı kullanılır
http://demo.guru99.com/test/ajax.html
Senaryo:
1. AUT açın
2. Radyo düğmesini bulun ve tıklayın
paket com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {// TODO Otomatik oluşturulan yöntem saplamasıSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");WebDriver sürücüsü = yeni ChromeDriver ();driver.manage (). window (). maximize ();driver.get ("http://demo.guru99.com/test/ajax.html");// Kimliğini kullanarak "Hayır" radyo düğmesini bulun ve tıklayındriver.findElement (Yazan.id ("hayır")). tıklayın ();// Kontrol Düğmesine tıklayındriver.findElement (By.id ("buttoncheck")). tıklayın ();}}
Örnek: Öğeleri Bul komutu nasıl kullanılır
Senaryo:
1. Test Edilen Uygulama için URL’yi açın
2. Radyo düğmelerinin metnini bulun ve çıktı konsoluna yazdırın
paket com.sample.stepdefinitions;import java.util.List;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");WebDriver sürücüsü = yeni ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Listöğeleri = driver.findElements (By.name ("name"));System.out.println ("Öğe sayısı: + öğeler.size ());for (int i = 0; i Özet:
- Öğe Bul komutu, web sayfasındaki ilk öğeyle eşleşen web öğesini döndürür.
- Öğeleri Bul komutu, ölçütlerle eşleşen web öğelerinin bir listesini döndürür.
- Selenium'da XPath ile Eleman Bul komutu, kriterlere uyan elemanı bulamazsa NoSuchElementException atar.
- Öğeleri Bul komutu, ölçütlerle eşleşen hiçbir öğe yoksa Selenium'da boş bir liste döndürür