从Eclipse运行Serenity测试时如何指定Selenium Hub URL?

时间:2018-03-28 13:04:03

标签: java eclipse selenium junit serenity-bdd

我试图将Serenity BDD测试框架与JUnit一起使用,而不是直接使用Selenium,但我无法弄清楚如何为Serenity管理的WebDriver实例提供我的URL Selenium Hub的运行方式适用于从Eclipse运行测试(使用" Run As> JUnit Test")。

@Manageddriver="remote"一起使用,正确尝试创建org.openqa.selenium.remote.RemoteWebDriver个实例...

@RunWith(SerenityRunner.class)
public class SerenityIT {
    @Managed(driver="remote") WebDriver browser;
    //[...]
}

...但是

失败了
  

引起:java.lang.NullPointerException:null at   java.net.URL。(URL.java:532)〜[na:1.8.0_151]

这并不令人惊讶,因为没有指定URL。那么我应该如何传递Selenium Hub URL?

2 个答案:

答案 0 :(得分:1)

当从Eclipse运行测试时,我们的Serenity也会加载serenity.properties,即使这既未记录也未暗示。我写了一个,Serenity找到了它,这是由控制台中的日志确认的:

  

DEBUG [net.thucydides.core.util.PropertiesFileLocalPreferences:115] -   从中加载本地属性   /integration-testing/serenity.properties

然后可以使用webdriver.remote.url记录提供Selenium Hub的URL。以下是我目前正在使用的属性,以及传递Firefox首选项的示例。

webdriver.driver=remote
webdriver.remote.driver=firefox
webdriver.remote.url=http://127.0.0.1:4444/wd/hub
webdriver.timeouts.implicitlywait=10000
firefox.preferences=devtools.jsonview.enabled=false

答案 1 :(得分:0)

您还可以在 serenity.conf 文件中配置它

类似的东西

# Remote
webdriver {
  driver = remote
  remote {
      url="http://localhost:4445/wd/hub"
      driver=chrome
  }
}