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

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

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

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

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

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

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

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

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

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

EventFiringWebDriver eventHandler = new EventFiringWebDriver(driver);

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

EventCapture eCapture = new EventCapture();

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

Шаг 1: Создайте класс «EventCapture» для реализации WebDriverEventListener прослушивателей пакетов методов; прослушиватели пакетов общественного класса EventCapture{ }; общедоступный класс EventCapture реализует WebDriverEventListener{ }

Наведите указатель мыши на WebDriverEventListener и импортируйте WebDriverEventListener Interface и  наведите указатель мыши на EventCapture  и нажмите «Добавить нереализованные методы»», чтобы добавить несколько нереализованных методов (без тела) прослушивателей пакетов; импортировать org.openqa.selenium.By; импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.WebElement; импортировать org.openqa.selenium.support.events.WebDriverEventListener; //Прослушиватели событий WebDriver public class EventCapture реализует WebDriverEventListener { @Override public void afterChangeValueOf(WebElement arg0, WebDriver arg1) { //TODO Автоматически сгенерированная заглушка метода } @Override public void afterClickOn(WebElement arg0, WebDriver arg1) { //TODO Auto -сгенерированная заглушка метода } @Override public void afterFindBy(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 } @Override 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 Автоматически созданная заглушка метода } @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.

прослушиватели пакетов; импортировать org.openqa.selenium.By; импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.WebElement; импортировать org.openqa.selenium.support.events.WebDriverEventListener; public class EventCapture реализует WebDriverEventListener{ @Override public void afterChangeValueOf(WebElement arg0, WebDriver arg1) { //TODO Автоматически созданная заглушка метода } @Override public void afterClickOn(WebElement arg0, WebDriver arg1) { //TODO Автоматически созданная заглушка метода } @Override public void afterFindBy(By arg0, WebElement arg1, WebDriver arg2) { //Автоматически созданная заглушка метода TODO } @Override public void afterNavigateBack(WebDriver arg0) { //Автоматически созданная заглушка метода TODO System.out.println(& #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 -сгенерированная заглушка метода } @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("Before NavigateBack "+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прослушиватели пакетов; импортировать org.openqa.selenium.By; импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.firefox.FirefoxDriver; импортировать org.openqa.selenium.support.events.EventFiringWebDriver; общественный класс ListenerMainClass {public static void main (String [] args) {драйвер WebDriver = новый FirefoxDriver(); EventFiringWebDriver eventHandler = новый EventFiringWebDriver(драйвер); EventCapture eCapture = новый EventCapture(); //Регистрация с помощью EventFiringWebDriver //Метод Register позволяет зарегистрировать нашу реализацию WebDriverEventListner для прослушивания событий WebDriver eventHandler.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.quit(); //Unregister позволяет отсоединить eventHandler.unregister(eCapture); System.out.println("Конец класса прослушивателей"); } }

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

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

От QA genius

Adblock
detector