如何在 ChromeDriver 中使用 Arquillian Graphene 2
How to use Arquillian Graphene 2 with ChromeDriver
如何在 Chrome 等不同的浏览器上使用 Graphene 2? (默认的 htmlUnit 不适合我。)
在 Arquillian 容器中有 Wildfly 8.1 服务器 运行,我想使用 Drone + Graphene 来执行实际测试。
@Drone
WebDriverdriver;
...
@RunAsClient
@Test
@InSequence(1)
public void basicHomepageTest() {
// try to get the homepage
driver.get("http://localhost:8080/superapp");
// read title and source
Assert.assertEquals("My Super App", driver.getTitle());
// read content
System.out.println("Page source -----");
System.out.println(driver.getPageSource());
}
我尝试将其添加到 arquillian.xml 配置中(没有成功):
<extension qualifier="webdriver">
<property name="browser">chrome</property>
</extension>
结束于:
java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(Capabilities): java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/se
lenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
Caused by: java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleap
is.com/index.html
我真的需要将 Chrome 二进制文件以某种方式嵌入到我的项目中吗?
您不必将其本身嵌入到您的项目中,但 Chrome 的驱动程序并未随浏览器本身一起提供。您必须下载它并使用配置文件中的 chromeDriverBinary
将 Graphene 指向它的位置。
为了补充 bartozs 的回答,我是这样做的:
1) 为我的 OS here
下载了 chromedriver 二进制文件
2) 将二进制路径添加到 arquillian.xml
<extension qualifier="webdriver">
<property name="browser">chrome</property>
<property name="chromeDriverBinary">webdriver-bin/chrome/chromedriver.exe</property>
</extension>
如何在 Chrome 等不同的浏览器上使用 Graphene 2? (默认的 htmlUnit 不适合我。)
在 Arquillian 容器中有 Wildfly 8.1 服务器 运行,我想使用 Drone + Graphene 来执行实际测试。
@Drone
WebDriverdriver;
...
@RunAsClient
@Test
@InSequence(1)
public void basicHomepageTest() {
// try to get the homepage
driver.get("http://localhost:8080/superapp");
// read title and source
Assert.assertEquals("My Super App", driver.getTitle());
// read content
System.out.println("Page source -----");
System.out.println(driver.getPageSource());
}
我尝试将其添加到 arquillian.xml 配置中(没有成功):
<extension qualifier="webdriver">
<property name="browser">chrome</property>
</extension>
结束于:
java.lang.RuntimeException: Unable to instantiate Drone via org.openqa.selenium.chrome.ChromeDriver(Capabilities): java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/se
lenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
Caused by: java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleap
is.com/index.html
我真的需要将 Chrome 二进制文件以某种方式嵌入到我的项目中吗?
您不必将其本身嵌入到您的项目中,但 Chrome 的驱动程序并未随浏览器本身一起提供。您必须下载它并使用配置文件中的 chromeDriverBinary
将 Graphene 指向它的位置。
为了补充 bartozs 的回答,我是这样做的:
1) 为我的 OS here
下载了 chromedriver 二进制文件2) 将二进制路径添加到 arquillian.xml
<extension qualifier="webdriver">
<property name="browser">chrome</property>
<property name="chromeDriverBinary">webdriver-bin/chrome/chromedriver.exe</property>
</extension>