当从 Eclipse 进行 运行 Serenity 测试时,如何指定 Selenium Hub URL?
How do I specify the Selenium Hub URL when running Serenity tests from Eclipse?
我正在尝试将 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;
//[...]
}
...但这失败了
Caused by: java.lang.NullPointerException: null at
java.net.URL.(URL.java:532) ~[na:1.8.0_151]
这并不奇怪,因为没有指定 URL。那么我应该如何通过 Selenium Hub URL?
当从 Eclipse 进行 运行 测试时,我们的 Serenity 也会加载 serenity.properties
,尽管这既没有记录也没有暗示。我写了一个,Serenity 找到了它,控制台中的日志证实了这一点:
DEBUG [net.thucydides.core.util.PropertiesFileLocalPreferences:115] -
LOADING LOCAL PROPERTIES FROM
/integration-testing/serenity.properties
Selenium Hub 的 URL 然后可以按照 webdriver.remote.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
也可以在serenity.conf文件中配置
就是这样;
# Remote
webdriver {
driver = remote
remote {
url="http://localhost:4445/wd/hub"
driver=chrome
}
}
我正在尝试将 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;
//[...]
}
...但这失败了
Caused by: java.lang.NullPointerException: null at java.net.URL.(URL.java:532) ~[na:1.8.0_151]
这并不奇怪,因为没有指定 URL。那么我应该如何通过 Selenium Hub URL?
当从 Eclipse 进行 运行 测试时,我们的 Serenity 也会加载 serenity.properties
,尽管这既没有记录也没有暗示。我写了一个,Serenity 找到了它,控制台中的日志证实了这一点:
DEBUG [net.thucydides.core.util.PropertiesFileLocalPreferences:115] - LOADING LOCAL PROPERTIES FROM /integration-testing/serenity.properties
Selenium Hub 的 URL 然后可以按照 webdriver.remote.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
也可以在serenity.conf文件中配置
就是这样;
# Remote
webdriver {
driver = remote
remote {
url="http://localhost:4445/wd/hub"
driver=chrome
}
}