How to implement WebDriverEventListener in C#?
I have no problem doing it in java importing:
import org.openqa.selenium.support.events.A
This link gives a nice explanation of event handling for selenium:
The events mechanism in WebDriver is composed of two major objects:
EventFiringWebDriver - A wrapper of the normal WebDriver API but adds the support of event triggering.
WebDriverEventListener - An interface with pre-defined events that EventFiringWebDriver instance will trigger.
Implementation of Event handling in Selenium as Class Diagram:
Step 1: Create a class implementing WebDriverEventListener.
public class DefaultWebDriverEventListener implements WebDriverEventListener {
public void beforeNavigateTo(String url, WebDriver driver) {
System.out.println("Driver will navigate to:" + url);
}
...
}
Step 2: Initalize event-firing driver using the webdriver instance you have created
//initalize FireFox webdriver instance
WebDriver driver = new FirefoxDriver();
//initalize event-firing driver using Firefox webdriver instance.
EventFiringWebDriver eventDriver = new EventFiringWebDriver(driver);
Step 3: Register the listener
//register event listener to even-firing webdriver instance
eventDriver.register(listener);
Now all the defined events in your implemented class will be executed when the selenium is executing. For instance, taking screenshot on exception etc.
Step 4: You can also unregister the listener if you want to stop firing events when selenium
eventDriver.unregister(listener);