check visibility web elements using various types webdriver commands selenium tutorial 14
WebDriver'da çeşitli döngü türleri ve koşullu komutlar kullanarak web öğelerinin görünürlüğü nasıl kontrol edilir:
Dizinin önceki bölümlerinde WebDriver'ın Select sınıfı Bu, öncelikle açılır menüler gibi web öğelerini işlemek ve açılır menüler altında çeşitli seçenekleri seçmek için kullanılır.
İlerlemek Selenyum serisi , WebDriver'daki isSelected (), isEnabled () ve isDispalyed () gibi çeşitli döngü ve koşullu komutları tartışıyor olacağız. Bu yöntemler, web öğelerinin görünürlük kapsamını belirlemek için kullanılır.
Öyleyse kısa bir girişle başlayalım - WebDriver, eylemlerin gerçekleştirileceği web öğelerinin türlerine dayalı olarak farklı görünürlük tercihleri hakkındaki bilgileri detaylandıran bir W3C spesifikasyonuna sahiptir.
WebDriver, web öğelerinin görünürlüğünü kontrol etmek için aşağıdaki yöntemlerle kullanıcıyı kolaylaştırır. Bu web öğeleri düğmeler, açılan kutular, onay kutuları, radyo düğmeleri, etiketler vb. Olabilir.
- isDisplayed ()
- seçildi()
- etkin()
Daha iyi bir anlayış için, yukarıda belirtilen yöntemleri kod örnekleriyle tartışalım.
Örnek olarak, test edilen bir uygulama olarak 'google.com' u ve komut dosyası oluşturmaya yönelik önceki eğitimlerde oluşturulan 'Learning_Selenium' projesini kullanacağız.
Otomatikleştirilecek senaryo
- Web tarayıcısını başlatın ve test edilen uygulamayı açın - http://google.com
- Web sayfası başlığını doğrulayın
- 'Google Arama' düğmesinin görüntülenip görüntülenmediğini doğrulayın
- İstekte bulunmak istediğimiz 'Google Arama' metin kutusuna anahtar kelimeyi girin
- 'Ara düğmesinin' görüntülendiğini ve etkinleştirildiğini doğrulayın
- Ara düğmesinin görünürlüğüne bağlı olarak, ara düğmesine tıklayın
Ne öğreneceksin:
WebDriver Kodu
Aşama 1: 'Learning_Selenium' projesi altında 'VisibilityConditions' adlı yeni bir java sınıfı oluşturun.
Windows'ta bir apk dosyası açın
Adım 2: Aşağıdaki kodu kopyalayıp “VisibilityConditions.java” sınıfına yapıştırın.
Aşağıda, yukarıda belirtilen senaryoya eşdeğer test komut dosyası verilmiştir:
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class VisibilityConditions { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = 'Google'; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // verify if the “Google Search” button is displayed and print the result boolean submitbuttonPresence=driver.findElement(By.id('gbqfba')).isDisplayed(); System.out.println(submitbuttonPresence); // enter the keyword in the “Google Search” text box by which we would want to make the request WebElement searchTextBox = driver.findElement(By.id('gbqfq')); searchTextBox.clear(); searchTextBox.sendKeys('Selenium'); // verify that the “Search button” is displayed and enabled boolean searchIconPresence = driver.findElement(By.id('gbqfb')).isDisplayed(); boolean searchIconEnabled = driver.findElement(By.id('gbqfb')).isEnabled(); if (searchIconPresence==true && searchIconEnabled==true) { // click on the search button WebElement searchIcon = driver.findElement(By.id('gbqfb')); searchIcon.click(); } // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Kod İzlenecek Yol
Aşağıda, web sayfasındaki web öğelerinin varlığını tespit etmemizin yolları verilmiştir.
Boole submitbuttonPresence = driver.findElement (By.id ( 'İnan' )). isDisplayed ();
isDispalyed ()
isDisplayed (), web sayfasında bir web öğesinin varlığını doğrulamak için kullanılan yöntemdir. Yöntem, her başarı ve başarısızlıkla birlikte bir Boolean değerinden kaynaklanacak şekilde tasarlanmıştır. Yöntem, web sayfasında belirtilen web öğesi varsa 'doğru' bir değer ve web öğesi web sayfasında yoksa 'yanlış' bir değer döndürür.
Bu nedenle, yukarıdaki kod pasajı, google web sayfasında gönder düğmesinin varlığını doğrular ve gönder düğmesi varsa gerçek bir değer döndürür ve aksi takdirde gönder düğmesi web sayfasında yoksa yanlış bir değer döndürür.
Boole searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).etkin();
Yöntem, yalnızca herhangi bir türle sınırlandırılmayan her tür web öğesinin görünürlüğü ile ilgilenir.
etkin()
isEnabled (), web öğesinin web sayfası içinde etkinleştirilip etkinleştirilmediğini doğrulamak için kullanılan yöntemdir. İsDisplayed () yöntemi gibi, her başarı ve başarısızlıkla bir Boolean değeriyle sonuçlanacak şekilde tasarlanmıştır. Yöntem, web sayfasında belirtilen web öğesi etkinleştirilirse bir 'doğru' değeri ve web öğesi web sayfasında etkin değilse (devre dışı bırakılma durumu) bir 'yanlış' değeri döndürür.
Bu nedenle, yukarıdaki kod parçacığı, gönder düğmesinin etkin olup olmadığını doğrular ve sonuca bağlı olarak bir Boole değeri döndürür.
İsEnabled () yöntemi, yalnızca 'A Koşulu' yerine getirildiğinde öğenin (esas olarak düğme) etkinleştirildiğinden emin olmak istediğimiz senaryolarda önemlidir. Aynısı için aşağıdaki resme bakın.
Yukarıdaki şekilde, Kayıt düğmesi yalnızca anlaşma onay kutusu seçildiğinde etkinleştirilir.
Yukarıdaki yöntemlere benzer şekilde, belirtilen web öğesinin seçilip seçilmediğini test eden 'isSelected ()' olarak adlandırılan bir yöntemimiz var.
Boole searchIconSelected = driver.findElement (By.id ( 'erkek' )).seçildi();
c ++ karma tablo örneği
seçildi()
isSelected (), web öğesinin seçilip seçilmediğini doğrulamak için kullanılan yöntemdir. isSelected () yöntemi ağırlıklı olarak radyo düğmeleri, açılır menüler ve onay kutuları ile kullanılır. Yukarıdaki yöntemlere benzer şekilde, her başarı ve başarısızlıkla bir Boolean değeri elde etmek için tasarlanmıştır.
Bu nedenle, yukarıdaki kod parçacığı, erkek radyo düğmesinin seçilip seçilmediğini doğrular ve sonuca bağlı olarak bir Boole değeri döndürür. Aynı için aşağıdaki resme bakın.
Sonuç
Bu eğiticide, sizi WebDriver'ın döngü ve koşullu işlemleriyle tanıştırmaya çalıştık. Bu koşullu yöntemler genellikle web öğeleri için neredeyse tüm görünürlük seçenekleri ile ilgilenir.
Makale özeti:
- WebDriver, web öğelerinin türlerine göre farklı görünürlük tercihleri hakkındaki bilgileri ayrıntılandıran bir W3C özelliğine sahiptir.
- isDisplayed (), web sayfasında bir web öğesinin varlığını doğrulamak için kullanılan yöntemdir. Yöntem, web sayfasında belirtilen web öğesi varsa 'doğru' bir değer ve web öğesi web sayfasında yoksa 'yanlış' bir değer döndürür.
- isDisplayed (), mevcut her türlü web öğesinin varlığını kontrol edebilir.
- isEnabled (), web öğesinin web sayfası içinde etkinleştirilip etkinleştirilmediğini doğrulamak için kullanılan yöntemdir.
- isEnabled () öncelikli olarak düğmelerle kullanılır.
- isSelected (), web öğesinin seçilip seçilmediğini doğrulamak için kullanılan yöntemdir. isSelected () yöntemi ağırlıklı olarak radyo düğmeleri, açılır menüler ve onay kutuları ile kullanılır.
Sonraki Eğitim # 15 : Web uygulamaları üzerinde çalışırken, genellikle web sayfasının tamamını yenileyerek ve yeni web öğelerini yeniden yükleyerek farklı web sayfalarına yeniden yönlendiriliriz. Bazen Ajax aramaları da olabilir. Böylece web sayfalarını yeniden yüklerken ve web elemanlarını yansıtırken bir zaman gecikmesi görülebilir. Bu nedenle, sıradaki öğreticimiz, örtük ve açık beklemeler kullanarak bu tür gecikmelerle başa çıkmakla ilgilidir.
Okuyucular için Not : O zamana kadar okuyucu, WebDriver yöntemlerini kullanarak web öğeleri için görünürlük kapsamını otomatikleştirebilir ve test edebilir.
Önerilen Kaynaklar
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- İlk WebDriver Komut Dosyamızın Uygulanması - Selenium WebDriver Eğitimi # 10
- Selenium Komut Dosyaları Oluşturmak İçin Chrome ve IE Tarayıcılarda Öğeler Nasıl Bulunur - Selenium Tutorial # 7
- Salatalık Selenium Eğitimi: Salatalık Java Selenium WebDriver Entegrasyonu
- Eclipse ile WebDriver Tam Kurulum ve Kurulum - Selenium Eğitimi # 9
- Selenium Scriptler için Web Öğelerini Tanımlamak için CSS Seçici Nasıl Kullanılır - Selenium Tutorial # 6
- Etkili Selenium Komut Dosyası Oluşturma ve Sorun Giderme Senaryoları - Selenium Eğitimi # 27
- Günlüklerle Selenium Komut Dosyalarında Hata Ayıklama (Log4j Eğitimi) - Selenium Eğitimi # 26