В этом посте мы видим прослушиватели событий 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» для реализации WebDriverEventListenermethodsJava
12345
прослушиватели пакетов; открытый класс EventCapture{}
Java
1234567
слушатели пакетов; общедоступный класс EventCapture реализует WebDriverEventListener{ }
Наведите указатель мыши на WebDriverEventListener и импортируйте WebDriverEventListener Интерфейс инаведите указатель мыши на EventCapture и нажмите на “Добавить нереализованные методы“, чтобы добавить несколько нереализованных методов (без тела)
слушатели пакетов; импортировать 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, я настоятельно рекомендую вам подпишитесь на бесплатную рассылку новостей по электронной почте, используя ссылку ниже.