In this post, we see WebDriver Event Listeners in Selenium WebDriver. Listeners “listen” to the event defined in the selenium script and behave accordingly. The main purpose of using listeners is to create logs and reports. There are many types of listeners such as WebDriver Event Listeners and TestNG Listeners . Here in this post, we see WebDriver Event Listeners.
We need to know the following class and interface when we talk about listeners in Selenium.
WebDriverEventListener: This WebDriver Event Listener interface allows us to implement the methods
Once the script is executed, Selenium WebDriver does perform activities such as Type, Click, Navigate etc., To keep track of these activities we use WebDriver Event Listeners interface.
EventFiringWebDriver: This EventFiringWebDriver class actually fire WebDriver event
Lets see how to implement Listeners in Selenium WebDriver Script.
Step 1: Create a Class “EventCapture” to implement WebDriverEventListener methods
Step 2: Create another Class “ListenerMainClass” and write a script (which ever script you prefer)
Step 3: In the Class “ListenerMainClass“, Create EventFiringWebDriver object and pass driver object as a parameter
1
|
EventFiringWebDriver eventHandler = new EventFiringWebDriver(driver);
|
Step 4: In the Class “ListenerMainClass“, Create an object of the Class “EventCapture” where we implemented all the methods of WebDriverEventListener to register with EventFiringWebDriver
1
|
EventCapture eCapture = new EventCapture();
|
Lets see each step in detail to implement the WebDriver Event Listeners in Selenium:
Step 1: Create a Class “EventCapture” to implement WebDriverEventListener methods
Java
1
2
3
4
5
|
package listeners;
public class EventCapture{
}
|
Java
1
2
3
4
5
6
7
|
package listeners;
public class EventCapture implements WebDriverEventListener{
}
|
Mouse hover on WebDriverEventListener and import WebDriverEventListener Interface and mouse hover on EventCapture and click on “Add unimplemented methods” to add multiple unimplemented methods (without body)
Java