我试图将Serenity BDD测试框架与JUnit一起使用,而不是直接使用Selenium,但我无法弄清楚如何为Serenity管理的WebDriver
实例提供我的URL Selenium Hub的运行方式适用于从Eclipse运行测试(使用" Run As> JUnit Test")。
将@Managed
与driver="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?
答案 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
}
}