Vidya Shankar NS
Vidya Shankar NS

Reputation: 59

WebDriverEventListener does not track browser events

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

Answers (1)

Vidya Shankar NS
Vidya Shankar NS

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

Related Questions