Reputation: 59
I am trying to implement WebDriverEventListener in my program to track the events. However, i am unable to see anything being tracked. Please let me know if i am missing out on something here.
Following is the EventHandler class that implements the WebDriverEventListener
public class EventHandler implements WebDriverEventListener {
public void afterChangeValueOf(WebElement arg0, WebDriver arg1) {
// TODO Auto-generated method stub
System.out.println("inside method afterChangeValueOf on " + arg0.toString());
}
public void afterClickOn(WebElement arg0, WebDriver arg1) {
// TODO Auto-generated method stub
System.out.println("inside method afterClickOn on " + arg0.toString());
}
public void afterFindBy(By arg0, WebElement arg1, WebDriver arg2) {
// TODO Auto-generated method stub
System.out.println("Find happened on " + arg1.toString()
+ " Using method " + arg0.toString());
}
public void afterNavigateBack(WebDriver arg0) {
// TODO Auto-generated method stub
System.out.println("Inside the after navigateback to " + arg0.getCurrentUrl());
}
public void afterNavigateForward(WebDriver arg0) {
// TODO Auto-generated method stub
System.out.println("Inside the afterNavigateForward to " + arg0.getCurrentUrl());
}
public void afterNavigateTo(String arg0, WebDriver arg1) {
// TODO Auto-generated method stub
System.out.println("Inside the afterNavigateTo to " + arg0);
}
}
And this is the program where i am implementing the test case:
public class TestProgram4 {
EventFiringWebDriver e_driver;
EventHandler eventListener;
WebDriver driver;
//Copy text from Browser and paste to a file
@Test
public void testMethod4(){
String data = null;
String pathGeckoDriver = System.getProperty("user.dir")+"\\executables\\geckodriver.exe";
System.out.println(pathGeckoDriver);
System.setProperty("webdriver.gecko.driver",pathGeckoDriver);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new MarionetteDriver(capabilities);
// driver = new FirefoxDriver();
e_driver = new EventFiringWebDriver(driver);
eventListener = new EventHandler();
e_driver.register(eventListener);
driver.get("file:\\C:\\Users\\AXM1033183\\Desktop\\Sample.html");
// driver.get("http://www.google.com");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
try {
Thread.sleep(2000);
} catch (Exception e1) {
}
WebElement element = driver.findElement(By.xpath("//input"));
element.click();
element.sendKeys("Test");
element.sendKeys(Keys.CONTROL,"a");
element.sendKeys(Keys.CONTROL,"c");
}
}
Upvotes: 0
Views: 415
Reputation: 59
The issue is fixed. I had to use e_driver instead of driver for the browser actions in my test script.
Upvotes: 1