ПРОСЛУШИВАТЕЛИ СОБЫТИЙ WEBDRIVER В SELENIUM | РУКОВОДСТВО ПО СЕЛЕНУ

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

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

WebDriverEventListener< /strong>: этот интерфейс прослушивателя событий WebDriver позволяет нам реализовывать методы

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

EventFiringWebDriver

EventFiringWebDriver

em>: этот класс EventFiringWebDriver фактически запускает событие WebDriver

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

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

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

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

1

EventFiringWebDriver eventHandler = new EventFiringWebDriver(driver);

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

1

EventCapture eCapture = new EventCapture();

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

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

12345

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

Java

1234567

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

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

Java

12345678910111213141516 1718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112

слушатели пакетов; import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.support.events.WebDriverEventListener;//WebDriver Event Listenerspublic class EventCapture реализует WebDriverEventListener{ @Overridepublic void afterChangeValueOf(WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterClickOn(WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterFindBy(By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически созданный метод} @Overridepublic void afterNavigateBack(WebDriver arg0) {//TODO Автоматически созданный метод} @Overridepublic void afterNavigateForward(WebDriver arg0) {//TODO Автоматически созданный метод заглушка} @Overridepublic void afterNavigateRefresh(WebDriver arg0) {//TODO Автоматически сгенерированная заглушка метода} @Overridepublic void afterNavigateTo(String arg0, WebDriver arg1) {//TODO Заготовка автоматически сгенерированного метода} @Overridepublic void afterScrip t(String arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeChangeValueOf(WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeClickOn(WebElement arg0, WebDriver arg1) {//TODO Автоматически созданный метод} @Overridepublic void beforeFindBy(By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически созданный метод} @Overridepublic void beforeNavigateBack(WebDriver arg0) {//TODO Автоматически созданный метод stub} @Overridepublic void beforeNavigateForward(WebDriver arg0) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeNavigateRefresh(WebDriver arg0) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeNavigateTo(String arg0, WebDriver arg1) { //Автоматически сгенерированный метод TODO} @Overridepublic void beforeScript(String arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void onException(Throwable arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод } }

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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112

слушатели пакетов; импортировать org.openqa.selenium.By;импортировать org.openqa.selenium.WebDriver;импортировать org.openqa.selenium.WebElement;импортировать org.openqa.selenium.support.events.WebDriverEventListener; открытый класс EventCapture реализует WebDriverEventListener{ @Overridepublic void afterChangeValueOf(WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterClickOn(WebElement arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterFindBy(By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически сгенерированный метод-заглушка} @Overridepublic void afterNavigateBack(WebDriver arg0) {//TODO Автоматически сгенерированный метод stubSystem.out.println(“After Navigating Back” + arg0.getCurrentUrl());} @Overridepublic void afterNavigateForward(WebDriver arg0) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterNavigateRefresh(WebDriver arg0) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterNavigateTo(String arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void afterScript(String arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeChangeValueOf(WebElement arg0, WebDr iver arg1) {//TODO Автоматически созданный метод} @Overridepublic void beforeClickOn(WebElement arg0, WebDriver arg1) {//TODO Автоматически созданный метод} @Overridepublic void beforeFindBy(By arg0, WebElement arg1, WebDriver arg2) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeNavigateBack(WebDriver arg0) {//TODO Автоматически сгенерированный метод stubSystem.out.println(“Before Navigating Back” +arg0.getCurrentUrl());} @Overridepublic void beforeNavigateForward(WebDriver arg0) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeNavigateRefresh(WebDriver arg0) {//TODO Автоматически сгенерированный метод} @Overridepublic void beforeNavigateTo(String arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод } @Overridepublic void beforeScript(String arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} @Overridepublic void onException(Throwable arg0, WebDriver arg1) {//TODO Автоматически сгенерированный метод} }

Шаг 2. Создайте еще один класс “ListenerMainC девушка» и напишите сценарий (какой сценарий вы предпочитаете). Приведенный ниже скрипт открывает две веб-страницы одну за другой и возвращается к первой веб-странице

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

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

Java

1234567891011121314151617181920212223242526272829

слушатели пакетов; импортировать org.openqa.selenium.By;импортировать org.openqa.selenium.WebDriver;импортировать org.openqa.selenium.firefox.FirefoxDriver;импортировать org.openqa.selenium.support.events.EventFiringWebDriver; public class ListenerMainClass {public static void main (String [] args){WebDriver driver = new FirefoxDriver();EventFiringWebDriver eventHandler = new EventFiringWebDriver(driver);EventCapture eCapture = new EventCapture();//Регистрация в EventFiringWebDriver                 //Метод регистрации позволяет чтобы зарегистрировать нашу реализацию WebDriverEventListner для прослушивания событий WebDriver, eventeventHandler.register(eCapture);//переход на веб-страницу “www.softwaretestingmaterial.com”eventHandler.navigate().to(“https://www.softwaretestingmaterial.com/100-software-testing-interview-questions/”);eventHandler.findElement(By.id(“email”)).sendKeys(“asdsadsa”);//переход на веб-страницу “www.softwaretestingmaterial.com/category/selenium /”eventHandler.navigate().to(“https://www.softwaretestingmaterial.com/agile-testing-interview-questions/”);//возврат к первой страницеeventHandler.navigate().back();eventHandler .покидать(); //Unregister позволяет detacheventHandler.unregister(eCapture);System.out.println(“End of Listners Class”);}}

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

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

TAG: qa

От QA genius

Adblock
detector