2017-07-03 120 views
0

我想在我的程序中實現WebDriverEventListener來跟蹤事件。但是,我無法看到任何被追蹤的東西。請讓我知道如果我錯過了這裏的東西。WebDriverEventListener不會跟蹤瀏覽器事件

下面是實現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); 
    } 
} 

的EventHandler類而這正是我在執行測試用例程序:

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"); 

} 

} 

回答

0

的問題是固定的。我的測試腳本中必須使用e_driver而不是驅動程序來處理瀏覽器操作。