如何使用与Maven和Jenkins(Java& IE)集成的Selenium Webdriver启用本机事件

时间:2016-01-11 12:39:36

标签: java maven jenkins selenium-webdriver windows-server-2012-r2

我需要知道如何为Jenkins启用本机事件,当我在maven本地运行测试时,一切正常。当通过Jenkins运行测试时,似乎Jenkins无法识别被输入的关键事件。但是这个问题可能是因为Jenkins没有在服务器上打开浏览器窗口。它只通过虚拟浏览器运行测试。

runner.getDriverWrapper().findElement(By.id("search__unit__personalization")).click();
runner.getDriverWrapper().skrivInText("Selmas");

public void skrivInText(String textToSelect){
    Actions actions = new Actions(driver);
    actions.sendKeys(new String[] {textToSelect});
    actions.sendKeys(Keys.ARROW_DOWN);
    actions.sendKeys(Keys.RETURN);
    actions.sendKeys(Keys.ENTER);
    actions.build().perform();

runner.getDriverWrapper().findElement(By.id("personalization__done")).click();

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤在Firefox浏览器中启用本机事件

  1. 为FirefoxProfile预定义的Selenium类创建一个对象引用。 这里不需要代表任何特定的Firefox配置文件
  2. setEnableNativeEvents()是FirefoxProfile类的预定义方法 传递布尔值'true'以在我们的自动化代码中启用本机事件 运行具有高级用户交互的代码,例如Actions Class> moveToElement() 等等 如果合成事件不起作用,以这种方式启用本机事件将允许浏览器生成JavaScript事件并使我们的自动化代码正常工作。

    FirefoxProfile profile = new FirefoxProfile();
    
    profile.setEnableNativeEvents(true);
    
    WebDriver driver = new FirefoxDriver(profile);