webdriver listeners selenium
WebDriver Dinleyicileri nedir? Selenium Otomasyon Testinde Neden Dinleyicilere ihtiyacımız var? Bu Eğitim, Örnek Kod Örnekleriyle Bu Soruları Ayrıntılı Olarak Yanıtlamaktadır:
Dinleyiciler, adından da anlaşılacağı gibi, Selenium kodunda belirtilen herhangi bir olayı 'dinler'. Örneğin, herhangi bir öğeyi tıklamadan önce ne olduğunu bilmek istiyorsanız; Bir öğeye gitmeden önce ve sonra veya bir istisna atıldığında ve test başarısız olduğunda ne olur, Dinleyiciler işe yarar.
Selenium Otomasyon Testinde Dinleyicilerin pratik kullanımı, eylemlerin sırasını günlüğe kaydetmek ve bir İstisna atılırken ekran görüntüsünü almak olabilir. Bu, Test Yürütmenin sonraki aşamalarında kolay hata ayıklamayı kolaylaştırır.
=> TÜM Selenium Öğreticilerini Buradan Kontrol Edin.
Ne öğreneceksin:
Webdriver Dinleyicilerinin Uygulanması
Büyük ölçüde iki tür Dinleyici vardır:
- Webdriver Dinleyicileri
- TestNG Dinleyicileri
Önce Webdriver Dinleyicilerinin nasıl çalıştığını anlayacağız. Bu eğitimde, odak noktamız Webdriver Olay Dinleyicisi olacaktır.
Neden Webdriver Olay Dinleyicisini Kullanıyoruz?
Webdriver'ın yardımıyla, Tarayıcı ve Web Öğeleri üzerinde birçok etkinliği tetikleyebiliyoruz. Yürütme sırasında tetiklenen tüm olayların kaydını tutar ve yürütme tamamlandığında hata ayıklamamıza yardımcı olabilir.
Webdriver Olay Dinleyicilerini uygulayabilmemizin iki yolu vardır:
- WebDriverEventListener Bu, Webdriver olaylarını izlemek için önceden tanımlanmış bazı yöntemlere sahip bir arabirimdir. Uygulamamızı gerektirir HERŞEY Arayüzde önceden tanımlanmış yöntemler.
- AbstractWebDriverEventListener Sınıfı bu da bize yalnızca ilgilendiğimiz yöntemleri uygulama olanağı sağlar.
# 1) WebDriverEventListener Arayüzü
WebDriverEventListener Arayüzünü uygulamak için kullanılan Önceden Tanımlanmış Yöntemler aşağıda listelenmiştir:
(i) DeğişiklikDeğeriOf öncesi void (WebElement arg0, WebDriver arg1, CharSequence () arg2)
Bu yöntem, Web Öğesinde sendKeys () veya clear () işlemini gerçekleştirdiğimizde tetiklenir. (Örneğin, driver.findElement (By.id ('Login')). Clear ()) ve tetiklenir ÖNCE işlemin Web Elementi üzerinde gerçekleştirilmesi.
Parametreler:
arg0= Web Element arg1=driver
(ii) void afterChangeValueOf (WebElement arg0, WebDriver arg1, CharSequence () arg2)
Bu yöntem, Web Öğesinde sendKeys () veya clear () işlemini gerçekleştirdiğimizde tetiklenir. (Örneğin, driver.findElement (By.id ('Login')). Clear ()) ve tetiklenir SONRA işlemin Web Elementi üzerinde gerçekleştirilmesi.
Parametreler:
arg0= Web Element arg1=driver
(iii) ClickOn öncesi void (WebElement arg0, WebDriver arg1)
Bu yöntem tetiklendi ÖNCE herhangi bir Web Öğesine tıklarız.
Parametreler:
arg0= Web Element arg1=driver
(iv) void afterClickOn (WebElement arg0, WebDriver arg1)
qa iş görüşmesi soruları ve cevapları
Bu yöntem tetiklendi SONRA herhangi bir Web Öğesine tıklarız.
Parametreler:
arg0= Web Element arg1=driver
(v) void beforeNavigateTo (String arg0, WebDriver arg1)
Bu yöntem, navigate (). To (String URL) (Örneğin, navigate (). To (“https: // www.google.com ”)) Ve tetiklendi ÖNCE URL'ye gitmek.
Parametreler:
arg0= URL arg1=driver
(vi) void afterNavigateTo (String arg0, WebDriver arg1)
Bu yöntem, navigate (). To (String URL) (Örneğin, navigate (). To (“https: // www.google.com ”)) Ve tetiklendi SONRA URL'ye gitmek.
Parametreler:
arg0= URL arg1=driver
(vii) void beforeNavigateBack (WebDriver arg0)
Bu yöntem, navigate (). Back () komutunu kullandığımızda tetiklenir. Yer alır ÖNCE kullanıcıyı bir önceki sayfaya yönlendirmek.
Parametreler:
arg0=driver
(viii) void afterNavigateBack (WebDriver arg0)
Bu yöntem, navigate (). Back () komutunu kullandığımızda tetiklenir. Yer alır SONRA kullanıcıyı bir önceki sayfaya yönlendirmek.
Parametreler:
arg0=driver
(ix) void beforeNavigateForward (WebDriver arg0)
Bu yöntem, navigate (). Forward () komutunu kullandığımızda tetiklenir. Yer alır ÖNCE kullanıcıyı sonraki sayfaya yönlendirmek.
Parametreler:
android için ücretsiz mp3 indirme uygulaması
arg0=driver
(x) void afterNavigateBack (WebDriver arg0)
Bu yöntem, navigate (). Forward () komutunu kullandığımızda tetiklenir. Yer alır SONRA kullanıcıyı sonraki sayfaya yönlendirmek.
Parametreler:
arg0=driver
(xi) void beforeNavigateRefresh (WebDriver arg0)
Bu yöntem, navigate (). Refresh () komutunu kullandığımızda tetiklenir. Yer alır ÖNCE mevcut sayfayı yeniliyor.
Parametreler:
arg0=driver
(xii) void afterNavigateRefresh (WebDriver arg0)
Bu yöntem, navigate (). Refresh () komutunu kullandığımızda tetiklenir. Yer alır SONRA mevcut sayfayı yeniliyor.
Parametreler:
arg0=driver
(xiii) void beforeFindBy (arg0, WebElement arg1, WebDriver arg2'ye göre)
Bu yöntem, komutu kullandığımızda tetiklenir driver.findElement (By.id ('Bazı id veya başka herhangi bir yer bulucu')) . Yer alır ÖNCE Web Öğesini bulun.
Parametreler:
arg0=locator arg1=Web Element arg2=driver
(xiv) void afterFindBy (Arg0, WebElement arg1, WebDriver arg2 tarafından)
Bu yöntem, komutu kullandığımızda tetiklenir driver.findElement (By.id ('Bazı id veya başka herhangi bir yer bulucu')) . Yer alır SONRA Web Öğesini bulun.
Parametreler:
arg0=locator arg1=Web Element arg2=driver
(xv) void onException (Throwable arg0, WebDriver arg1)
Bu yöntem, bir istisna atıldığında atılır. Örneğin, Webdriver öğeyi bulamazsa, bu yöntemi tetikleyecek ve içinde yazılan kodu çalıştıracaktır.
Parametreler:
arg0=Exception arg1= driver
(xvi) void beforeAlertAccept (WebDriver arg0)
Bu yöntem, ekranda bir uyarı kutusu gösterildiğinde tetiklenir ve hemen tetiklenir. ÖNCE 'Tamam veya KABUL ET' düğmesine tıklayın.
Parametreler:
arg0=driver
(xvii) void afterAlertAccept (WebDriver arg0)
Bu yöntem, ekranda bir uyarı kutusu gösterildiğinde tetiklenir ve hemen tetiklenir. SONRA 'Tamam veya KABUL ET' düğmesine tıklayın.
Parametreler:
arg0=driver
(xviii) void beforeAlertDismiss (WebDriver arg0)
Bu yöntem, ekranda bir uyarı kutusu gösterildiğinde tetiklenir ve hemen tetiklenir. ÖNCE 'İPTAL' düğmesine tıklayın.
Parametreler:
arg0=driver
(xix) void afterAlertDismiss (WebDriver arg0)
Bu yöntem, ekranda bir uyarı kutusu gösterildiğinde tetiklenir ve hemen tetiklenir. SONRA 'İPTAL' düğmesine tıklayın.
Parametreler:
arg0=driver
Kullanılabilen tüm yöntemler bunlar WebDriverEventListener. BeforeScript ve afterScript başka iki yöntem vardır, ancak bu öğreticide bunları ele almayacağız.
Eclipse'de 'WebDriverEventListener' Arayüzü yardımıyla Dinleyicileri Uygulama Adımları:
Aşama 1: 'Dinleyiciler' adıyla bir paket oluşturun. Bu paketin içinde ' WebdriverListeners 'Ve uygulamasına izin verin 'WebDriverEventListener' .
Kullanıcı arayüzü aşağıdaki gibi görünmelidir:
Farenizi Error ile kırmızı çizginin üzerine getirin, Eclipse 'WebDriverEventListener' i içe aktarmak için aşağıdaki öneriyi atmalıdır. İçe Aktar'a tıklayın.
WebDriverEventListener üzerindeki hatadan çıkıldı ancak 'WebDriverListeners' sınıfında aşağıdaki hatayı göreceksiniz. İmleci hatanın üzerine getirin ve Uygulanmamış yöntemler eklemek için bir öneri göreceksiniz. Üzerine tıkladığınızda tüm yöntemlerin listelendiğini ve yukarıda açıklandığını göreceksiniz.
Gösterme amacıyla her yönteme System.out.println satırını eklediğimizi lütfen unutmayın.
Örnek Kod-1
package Listeners; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.events.WebDriverEventListener; public class WebDriverListeners implements WebDriverEventListener { @Override public void afterAlertAccept(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('After Alert Accept '+arg0.toString() ); } @Override public void afterAlertDismiss(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('After Alert Dismiss '+ arg0); } @Override public void afterChangeValueOf(WebElement arg0, WebDriver arg1, CharSequence() arg2) { // TODO Auto-generated method stub System.out.println('After value change of' +arg0); } @Override public void afterClickOn(WebElement arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('After clicked'+arg0); } @Override public void afterFindBy(By arg0, WebElement arg1, WebDriver arg2) { // TODO Auto-generated method stub System.out.println('After Find By'+arg1); } @Override public void afterNavigateBack(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('After Navigate Back'); } @Override public void afterNavigateForward(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('After Navigate Forward'); } @Override public void afterNavigateRefresh(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('On Navigating Refresh'); } @Override public void afterNavigateTo(String arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('On Navigating To'+arg0); } @Override public void afterScript(String arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('After Script'); } @Override public void beforeAlertAccept(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('Before Alert Accept'); } @Override public void beforeAlertDismiss(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('Before Alert Dismiss'); } @Override public void beforeChangeValueOf(WebElement arg0, WebDriver arg1, CharSequence() arg2) { // TODO Auto-generated method stub System.out.println('Before Change Value of'+arg0); } @Override public void beforeClickOn(WebElement arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('Before Click on'+arg0); } @Override public void beforeFindBy(By arg0, WebElement arg1, WebDriver arg2) { // TODO Auto-generated method stub System.out.println('Before Find By'+arg0); } @Override public void beforeNavigateBack(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('Before Navigate Back'); } @Override public void beforeNavigateForward(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('Before Navigate Forward'); } @Override public void beforeNavigateRefresh(WebDriver arg0) { // TODO Auto-generated method stub System.out.println('Before Navigate Refresh'); } @Override public void beforeNavigateTo(String arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('Before Navigate To'+arg0); } @Override public void beforeScript(String arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('Before Script'); } @Override public void onException(Throwable arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('On Exception'+arg0); } }
Adım 2: Listeners_Tests sınıfını oluşturun ve sınıf içinde ana yönteme sahip olduğundan emin olun. Dinleyici sınıfının belirli olaylar için öngörülen tarayıcı komutları üzerinde bir işlem gerçekleştirebilmesi için WebDriverListeners sınıfını genişletmesine izin verin.
c ++ için tutulma nasıl kurulur
Lütfen aşağıdaki kodu Listeners_Tests sınıfına kopyalayıp yapıştırın. Aşağıdaki kodu Java Uygulaması gibi çalıştırın.
Örnek Kod-2
package Listeners; import java.util.Arrays; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.Proxy; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.support.events.EventFiringWebDriver; public class Listeners_Tests extends WebDriverListeners{ static WebElement e; static ChromeDriver driver; public static void main(String() args) throws InterruptedException { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'E:\chromedriver.exe'); /*Setting the capabilities of Chrome Driver*/ try { DesiredCapabilities capabilities = DesiredCapabilities.chrome(); Proxy proxy = new Proxy(); String proxyServer = String.format('AProxyIDontWantToDisplay', System.getenv('proxy.username'), System.getenv('proxy.password')); proxy.setHttpProxy(proxyServer); capabilities.setCapability('proxy', proxy); ChromeOptions options = new ChromeOptions(); options.addArguments(Arrays.asList ('--no-sandbox','--ignore-certificate-errors','--homepage=about:blank','--no-first-run')); options.addArguments('disable-infobars'); capabilities.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(capabilities); } catch (Exception e) { throw new Error(e); } /*---- Creating the instance of EventFiringWebDriver Class----*/ EventFiringWebDriver eventRecorder = new EventFiringWebDriver(driver); /*---- Creating the instance of parent class 'WebdriverListeners' class----*/ WebDriverListeners eCapture = new WebDriverListeners(); /* The below step registers the listeners for logging purpose*/ eventRecorder.register(eCapture); //Event One System.out.println('This is recording Event-One'); eventRecorder.navigate().to('https://www.google.com'); //Event Two System.out.println('This is recording Event-Two'); eventRecorder.findElement(By.xpath('//a(text()='Sign in')')).click(); //Event Three System.out.println('This is recording Event-Three'); eventRecorder.findElement(By.id('identifierId')).clear(); Thread.sleep(5000); //Event Four System.out.println('This is recording Event-Four'); eventRecorder.findElement(By.id('identifierId')).sendKeys('abc@gmail.com'); Thread.sleep(5000); //Event Five System.out.println('This is recording Event-Five'); eventRecorder.navigate().back(); //Event Six System.out.println('This is recording Event-Six'); eventRecorder.navigate().forward(); //Event Seven System.out.println('This is recording Event-Seven'); eventRecorder.navigate().refresh(); //Event Eight System.out.println('This is recording Event-Eight'); eventRecorder.get('https://www.irctc.co.in/eticketing/loginHome.jsf'); //Event Nine System.out.println('This is recording Event-Nine'); eventRecorder.findElement(By.id('loginbutton')).click(); try { Alert alert = eventRecorder.switchTo().alert(); // check if alert exists // TODO find better way alert.getText(); //Event Ten System.out.println('This is recording Event-Ten'); alert.accept(); } catch (Exception e) { } Thread.sleep(3000); eventRecorder.findElement(By.id('loginbutton')).click(); try { Alert alert = eventRecorder.switchTo().alert(); // check if alert exists // TODO find better way alert.getText(); //Event Eleven System.out.println('This is recording Event-Eleven'); alert.dismiss(); } catch (Exception e) { } //Intentionally giving wrong id so it triggers onException Listener--> Event Twelve System.out.println('This is recording Event-Twelve'); eventRecorder.findElement(By.id('loginbutn')).click(); } }
Çalıştırma başarıyla tamamlandıktan sonra, lütfen konsolda kaydedilen içeriği kontrol edin. Yukarıdaki kodda listelenen her etkinliğe gideceğiz.
Konsolun 1 numaralı pasajı
Olay 1: Bu, olayı beforeNavigateTo ve afterNavigateTo olarak kaydeder ve buna göre iki blokta yazılan eylemleri gerçekleştirir.
Etkinlik-2: Bu, olayı beforeFindBy ve afterFindBy'yi kaydeder ve buna göre iki blokta yazılan eylemleri gerçekleştirir. Bu iki olaydan sonraki olay, beforeClick ve afterClick olaylarını kapsar.
Etkinlik-3: Bu, olayların beforeChangeValueOf ve afterChangeValue değerlerini kaydeder.
Etkinlik-4: Bu Etkinlik-3 ile aynı
Etkinlik-5: Bu, önceNavigateBack ve afterNavigateBack olaylarını kaydeder.
Etkinlik-6: Bu, önceNavigateForward ve afterNavigateForward olaylarını kaydeder.
Etkinlik-7: Bu, önceNavigateRefresh ve afterNavigateRefresh olaylarını kaydeder.
Etkinlik-8: Bu Olay-1 ile aynı
Etkinlik-9: Bu Etkinlik-2 ile aynı
Konsolun 2 numaralı pasajı
Etkinlik-10: Bu, beforeAlertAccept ve afterAlertAccept gibi olayları kaydeder.
Etkinlik-11: Bu, beforeAlertDismiss ve afterAlertDismiss gibi olayları kaydeder.
Etkinlik-12: Bu, onException gibi olayları kaydeder ve mesajı atar.
Umarım dinleyicilerin kısa açıklaması Webdriver Dinleyicilerinin nasıl çalıştığı hakkında size bir fikir verir. Daha önce söylediğimiz gibi, WebDriverEventListener yardımıyla, bu arayüzde mevcut olan tüm yöntemleri uygulamalıyız.
Ancak AbstractWebDriverEventListener sınıfının yardımıyla hangi olayları uygulamak istediğimizi seçebiliriz.
# 2) AbstractWebDriverEventListener Sınıfı
'AbstractWebDriverEventListener' Sınıfını kullanarak Dinleyicileri Uygulama Adımları:
Aşama 1
Bir sınıf oluşturun ' AbstractWebDriverListener 'Ve sınıfı genişletmesine izin verin' AbstractWebDriverEventListener '
Gördüğünüz gibi, ' WebDriverEventListener ', Genişletildiğinde bu sınıf, uygulanmamış yöntemler eklemek için bir hata atmaz. Projenizde uygulamak istediğiniz her yöntemi seçebilirsiniz.
Aşağıdaki kodu kopyalayıp yapıştırın:
Örnek Kod-3
package Listeners; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.events.AbstractWebDriverEventListener; public class AbstractWebDriverListeners extends AbstractWebDriverEventListener{ public void afterChangeValueOf(WebElement arg0, WebDriver arg1, CharSequence() arg2) { // TODO Auto-generated method stub System.out.println('After value change of' +arg0); } public void afterClickOn(WebElement arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('After clicked'+arg0); } public void afterFindBy(By arg0, WebElement arg1, WebDriver arg2) { // TODO Auto-generated method stub System.out.println('After Find By'+arg1); } public void beforeChangeValueOf(WebElement arg0, WebDriver arg1, CharSequence() arg2) { // TODO Auto-generated method stub System.out.println('Before Change Value of'+arg0); } public void beforeClickOn(WebElement arg0, WebDriver arg1) { // TODO Auto-generated method stub System.out.println('Before Click on'+arg0); } public void beforeFindBy(By arg0, WebElement arg1, WebDriver arg2) { // TODO Auto-generated method stub System.out.println('Before Find By'+arg0); } }
Adım 2
'Adıyla yeni bir sınıf oluşturun' AbstractListeners_Test 'Ve içinde' AbstractWebDriverListeners ' sınıf.
Aşağıdaki kodu bu sınıfa kopyalayıp yapıştırın.
Örnek Kod-4
package Listeners; import java.util.Arrays; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.Proxy; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.support.events.EventFiringWebDriver; public class AbstractListeners_Tests extends WebDriverListeners{ static WebElement e; static ChromeDriver driver; public static void main(String() args) throws InterruptedException { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'E:\chromedriver.exe'); /*Setting the capabilities of Chrome Driver*/ try { DesiredCapabilities capabilities = DesiredCapabilities.chrome(); Proxy proxy = new Proxy(); String proxyServer = String.format('AProxyIDontWantToDisplay', System.getenv('proxy.username'), System.getenv('proxy.password')); proxy.setHttpProxy(proxyServer); capabilities.setCapability('proxy', proxy); ChromeOptions options = new ChromeOptions(); options.addArguments(Arrays.asList ('--no-sandbox','--ignore-certificate-errors','--homepage=about:blank','--no-first-run')); options.addArguments('disable-infobars'); capabilities.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(capabilities); } catch (Exception e) { throw new Error(e); } /*---- Creating the instance of EventFiringWebDriver Class----*/ EventFiringWebDriver eventRecorder = new EventFiringWebDriver(driver); /*---- Creating the instance of parent class 'AbstractWebdriverListeners' class----*/ AbstractWebDriverListeners eCapture = new AbstractWebDriverListeners(); /* The below step registers the listeners for logging purpose*/ eventRecorder.register(eCapture); //Event One System.out.println('This is recording Event-One'); eventRecorder.navigate().to('https://www.google.com'); //Event Two System.out.println('This is recording Event-Two'); eventRecorder.findElement(By.xpath('//a(text()='Sign in')')).click(); //Event Three System.out.println('This is recording Event-Three'); eventRecorder.findElement(By.id('identifierId')).clear(); Thread.sleep(5000); //Event Four System.out.println('This is recording Event-Four'); eventRecorder.findElement(By.id('identifierId')).sendKeys('abc@gmail.com'); Thread.sleep(5000); //Event Five System.out.println('This is recording Event-Five'); eventRecorder.navigate().back(); //Event Six System.out.println('This is recording Event-Six'); eventRecorder.navigate().forward(); //Event Seven System.out.println('This is recording Event-Seven'); eventRecorder.navigate().refresh(); //Event Eight System.out.println('This is recording Event-Eight'); eventRecorder.get('https://www.irctc.co.in/eticketing/loginHome.jsf'); //Event Nine System.out.println('This is recording Event-Nine'); eventRecorder.findElement(By.id('loginbutton')).click(); try { Alert alert = eventRecorder.switchTo().alert(); // check if alert exists // TODO find better way alert.getText(); //Event Ten System.out.println('This is recording Event-Ten'); alert.accept(); } catch (Exception e) { } Thread.sleep(3000); eventRecorder.findElement(By.id('loginbutton')).click(); try { Alert alert = eventRecorder.switchTo().alert(); // check if alert exists // TODO find better way alert.getText(); //Event Eleven System.out.println('This is recording Event-Eleven'); alert.dismiss(); } catch (Exception e) { } //Intentionally giving wrong id so it triggers onException Listener--> Event Twelve System.out.println('This is recording Event-Twelve'); eventRecorder.findElement(By.id('loginbutn')).click(); } }
Bu sınıf aynı zamanda daha önce kaydedilmiş olaylara da sahiptir, ancak Listener sınıfımızı yalnızca altı olay uygulamak için sınırladığımız için, diğerlerini atacak ve yalnızca bahsedilenlerin günlüğünü görüntüleyecektir.
Konsol Penceresi Görünümü
Yukarıdaki görüntüde sarı işaretli alanları görebileceğiniz gibi, sadece uygulamada uygulanan yöntemler AbstractWebDriverListeners Sınıf tetiklendi.
Sonuç
WebDriver Dinleyicileri, bir tarayıcı olayını dinleyen ve buna göre yanıt veren arayüzlerdir. Bunu WebDriverEventListener yardımıyla uygularsanız, bu arayüzle ilgili tüm yöntemleri uygulamanız gerekir.
AbstractWebDriverEventListener sınıfının yardımıyla WebDriver Listener'ı uygularsanız, uygulamak istediğiniz yöntemleri seçebilirsiniz.
=> Sıfırdan Selenyum Öğrenmek İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Salatalık Selenium Eğitimi: Salatalık Java Selenium WebDriver Entegrasyonu
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- ChromeDriver Selenium Eğitimi: Chrome'da Selenium Webdriver Testleri
- İlk WebDriver Komut Dosyamızın Uygulanması - Selenium WebDriver Eğitimi # 10
- 30+ En İyi Selenyum Öğreticisi: Gerçek Örneklerle Selenyum Öğrenin
- Selenyum SSS
- Selenium WebDriver'da Uyarılar / Açılır Pencereler Nasıl İşlenir - Selenium Eğitimi # 16
- Selenium WebDriver'da Örtülü ve Açık Bekleme (Selenium Bekleme Türleri)