atesting.ru Блог Слушатели событий WebDriver в Selenium | Учебник по Selenium

Слушатели событий WebDriver в Selenium | Учебник по Selenium

В этом посте мы видим слушателей событий WebDriver в Selenium WebDriver. Слушатели «слушают» событие, определенное в сценарии селена, и ведут себя соответствующим образом. Основная цель использования слушателей — создание журналов и отчетов. Существует много типов слушателей, таких как слушатели событий WebDriver и слушатели TestNG. В этом посте мы видим слушателей событий WebDriver.

Когда мы говорим о слушателях в Selenium, нам необходимо знать следующий класс и интерфейс.

WebDriverEventListener : этот интерфейс WebDriver Event Listener позволяет нам реализовать методы

После выполнения скрипта Selenium WebDriver выполняет такие действия, как Type, Click, Навигация и т. Д. Чтобы отслеживать эти действия, мы используем интерфейс прослушивателей событий WebDriver.

EventFiringWebDriver : Этот класс EventFiringWebDriver действительно запускает событие WebDriver

Давайте посмотрим, как реализовать прослушиватели в Selenium WebDriver Script.

Шаг 1: Создайте класс « EventCapture » для реализации методов WebDriverEventListener

Шаг 2: Создайте еще один класс « ListenerMainClass »и напишите сценарий (любой сценарий, который вы предпочитаете)

Шаг 3: В классе« ListenerMainClass »создайте EventFiringWebDriver и передать объект драйвера в качестве параметра

1 EventFiringWebDriver eventHandler = new EventFiringWebDriver (драйвер);

Шаг 4: В классе « ListenerMainClass «, Создайте объект класса« EventCapture », в котором мы реализовали все методы WebDriverEventListener для регистрации в EventFiringWebDriver

1 EventCapture eCapture = new EventCapture ();

Давайте подробно рассмотрим каждый шаг по реализации прослушивателей событий WebDriver в Selenium:

Шаг 1. Создайте класс « EventCapture ”Для реализации методов WebDriverEventListener

Java

12345 слушатели пакетов; открытый класс EventCapture {}

Java

1234567 слушатели пакетов; открытый класс EventCapture реализует WebDriverEventListener {}

наведение курсора мыши на WebDriverEventListener и импорт WebDriverEventListener интерфейс и мышь наведите указатель мыши на EventCapture и нажмите « Добавить нереализованные методы », чтобы добавить несколько нереализованных методов (без тела)

Java

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747585960616263646566676869707172737475859606162636465666768697071727377103109109909слушатели пакетов; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.events.WebDriverEventListener; //WebDriver Event ListenersEventListenerspublic class EventCriver @Override public void afterChangeValueOf (WebElement arg0, WebDriver arg1) {//TODO Заглушка автоматически сгенерированного метода} @Override public void afterClickOn (WebElement arg0, WebDriver arg1) {//TODO Заглушка автоматически сгенерированного метода} @Override public void (afterFind By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически созданная заглушка метода} @Override public void afterNavigateBack (WebDriver arg0) {//TODO Автоматически созданная заглушка метода} @Override public void afterNavigateForward (WebDriver arg0) {//TODO Автоматически сгенерированная заглушка метода} @Override public void afterNavigateRefresh (WebDriver arg0) {//TODO Автоматически созданная заглушка метода} @Override public void afterNavigateTo (String arg0, WebDriver arg1) {//TODO Автоматически созданная заглушка метода} @O verride public void afterScript (String arg0, WebDriver arg1) {//TODO Автоматически созданная заглушка метода} @Override public void beforeChangeValueOf (WebElement arg0, WebDriver arg1) {//TODO Автоматически созданная заглушка метода} @Override public void beforeClickOn (WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированная заглушка метода} @Override public void beforeFindBy (By arg0, WebElement arg1, WebDriver arg2) {//TODO Auto-generated method stub} @Override public void beforeNavigateBack (WebDriver arg0) { //TODO Автоматически сгенерированная заглушка метода} @Override public void beforeNavigateForward (WebDriver arg0) {//TODO Автоматически сгенерированная заглушка метода} @Override public void beforeNavigateRefresh (WebDriver arg0) {//TODO Автоматически созданная заглушка метода} @Override public void beforeNavigateTo (String arg0, WebDriver arg1) {//Заглушка автоматически сгенерированного метода TODO} @Override public void beforeScript (String arg0, WebDriver arg1) {//Заглушка автоматически сгенерированного метода TODO} @Override public void onException (Throwable arg0, WebDriver arg1) {//TODO Автоматически сгенерированная заглушка метода}}

Здесь я реализую afterNavigateBack , beforeNavigateBack методы.

Java

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747585960616263646566676869707172737475859606162636465666768697071727377103109109909слушатели пакетов; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.events.WebDriverEventListener; общедоступный класс EventCapture реализует WebDriverEventListener {@Override public void afterChangeValueOf (WebElement arg0, WebDriver arg1) {//TODO Заглушка автоматически сгенерированного метода} @Override public void afterClickOn (WebElement arg0, WebDriver stub} автоматически сгенерированный метод @Override public void afterFindBy (By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически сгенерированная заглушка метода} @Override public void afterNavigateBack (WebDriver arg0) {//TODO Автоматически созданная заглушка метода System.out.println (& # 34; После перехода назад & # 34; + arg0.getCurrentUrl ()); } @Override public void afterNavigateForward (WebDriver arg0) {//Заглушка автоматически сгенерированного метода TODO} @Override public void afterNavigateRefresh (WebDriver arg0) {//Заглушка автоматически сгенерированного метода TODO} @Override public void afterNavigateTo (String arg0, WebDriver arg1 ) {//TODO Автоматически сгенерированная заглушка метода} @Override public void afterScript (String arg0, WebDriver arg1) {//TODO Автоматически созданная заглушка метода} @Override public void beforeChangeValueOf (WebElement arg0, WebDriver arg1) {//TODO Auto -generated method stub} @Override public void beforeClickOn (WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированная заглушка метода} @Override public void beforeFindBy (By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически сгенерированный метод stub} @Override public void beforeNavigateBack (WebDriver arg0) {//TODO Заглушка автоматически сгенерированного метода System.out.println (& # 34; Перед переходом назад & # 34; + arg0.getCurrentUrl ()); } @Override public void beforeNavigateForward (WebDriver arg0) {//Заглушка автоматически сгенерированного метода TODO} @Override public void beforeNavigateRefresh (WebDriver arg0) {//Заглушка автоматически сгенерированного метода TODO} @Override public void beforeNavigateTo (String arg0, WebDriver arg1 ) {//TODO Автоматически сгенерированная заглушка метода} @Override public void beforeScript (String arg0, WebDriver arg1) {//TODO Автоматически сгенерированная заглушка метода} @Override public void onException (Throwable arg0, WebDriver arg1) {//TODO Auto -сгенерированный заглушка метода}}

Шаг 2: Создайте другой класс « ListenerMainClass » и напишите сценарий (любой сценарий, который вы предпочитаете). Ниже скрипт открывает две веб-страницы одну за другой и возвращает на первую веб-страницу

Шаг 3. В классе « ListenerMainClass » создайте объект EventFiringWebDriver и передайте объект драйвера в качестве параметра

Шаг 4 : В классе « ListenerMainClass » создайте объект класса « EventCapture », в котором мы реализовали все методы WebDriverEventListener зарегистрироваться в EventFiringWebDriver

Java

1234567891011121314151617181920212223242526272829 слушатели пакетов; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.events.EventFiringWebDriver; открытый класс ListenerMainClass {общедоступный статический void main (String [] args) {драйвер WebDriver = новый FirefoxDriver (); EventFiringWebDriver eventHandler = новый EventFiringWebDriver (драйвер); EventCapture eCapture = новый EventCapture (); //Регистрация в EventFiringWebDriver //Метод Register позволяет зарегистрировать нашу реализацию WebDriverEventListner для прослушивания событий WebDriver eventHandler.register (eCapture); //переход на веб-страницу & # 34; www.softwaretestingmaterial.com & # 34; eventHandler.navigate () .to (& # 34; https: //www.softwaretestingmaterial.com/100-software-testing-interview-questions/"); eventHandler.findElement (By.id (& # 34; электронная почта & # 34;)). sendKeys (& # 34; asdsadsa & # 34;); //переход на веб-страницу & # 34; www.softwaretestingmaterial.com/category/selenium/& # 34; eventHandler.navigate () .to (& # 34; https: //www.softwaretestingmaterial.com/agile-testing-interview-questions/"); //возвращаемся к первой странице eventHandler.navigate (). back (); eventHandler.quit (); //Отмена регистрации позволяет отсоединить eventHandler.unregister (eCapture); System.out.println (& # 34; Конец класса Listners & # 34;); }}

Наконец, , выполните класс « ListenerMainClass ». Методы в классе « EventCapture » вызываются автоматически на основе сценария. Проверьте вывод в консоли. Вы можете найти журналы в консоли. Два URL-адреса в консоли связаны с реализацией методов beforeNavigateBack и afterNavigateBack .

Если вы не являетесь постоянным читателем SoftwareTestingMaterial.com, тогда я настоятельно рекомендую вам подписаться на бесплатную рассылку новостей по электронной почте, используя ссылку ниже.

TAG: qa