В этом посте мы видим прослушиватели событий 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
Шаг 2. Создайте еще один класс “ListenerMainC девушка» и напишите сценарий (какой сценарий вы предпочитаете). Приведенный ниже скрипт открывает две веб-страницы одну за другой и возвращается к первой веб-странице Шаг 3: В классе «ListenerMainClass» создайте EventFiringWebDriver объект и передать объект драйвера в качестве параметра Шаг 4: В классе «ListenerMainClass» создайте объект класса «EventCapture», где мы реализовали все методы WebDriverEventListener для регистрации в EventFiringWebDriver Java
Наконец, выполнить “ ListenerMainClass». Методы класса EventCapture вызываются автоматически на основе скрипта. Проверьте выходные данные в консоли. Вы можете найти журналы в консоли. Два URL-адреса в консоли связаны только с реализацией методов beforeNavigateBack и afterNavigateBack. Если вы не являетесь постоянным читателем SoftwareTestingMaterial.com, я настоятельно рекомендую вам подпишитесь на бесплатную рассылку новостей по электронной почте, используя ссылку ниже. TAG: qa |