使用无头Chromedriver在Maven中运行Jasmine测试

时间:2017-10-31 20:06:10

标签: maven jasmine selenium-chromedriver pom.xml headless

我们已经将(最新的Windows)Chrome驱动程序下载到我们的项目中,我们可以像这样运行Jasmine测试:

mvn -Dwebdriver.chrome.driver=src/test/resources/chromedriver.exe

但是我们在pom.xml中设置上面的系统属性是不成功的。 我们尝试了<argLine>, <jvmArguments>&amp;以下插件的配置部分中的<systemPropertyVariables>选项:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
    <jvmArguments>
        -Dwebdriver.chrome.driver=src/test/resources/chromedriver.exe
    </jvmArguments>
</configuration>

另一个插件:

<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
    <argLine>-Dwebdriver.chrome.driver=src/test/resources/chromedriver.exe
</configuration>

<executions>
    <execution>
    <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                    <webDriverClassName>org.openqa.selenium.chrome.ChromeDriver</webDriverClassName>
                    <webDriverCapabilities>
                        <capability>
                            <name>chromeOptions</name>
                            <value implementation="org.openqa.selenium.chrome.ChromeOptions" >
                                <args>
                                    <value>--headless</value>
                                    <value>--disable-gpu</value>
                                </args>
                            </value>
                        </capability>
                    </webDriverCapabilities>
            </configuration>
    </execution>
</executions>

我们不确定我们是否在错误的地方配置Chromedriver路径。当我们只运行&#34; mvn&#34;时,我们在运行茉莉花测试时会收到以下错误:

[ERROR]引起:java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关更多信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新版本可从http://chromedriver.storage.googleapis.com/index.html下载 com.google.common.base.Preconditions.checkState上的[错误](Preconditions.java:197) [错误]在org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) [错误]在org.openqa.selenium.chrome.ChromeDriverService.access $ 000(ChromeDriverService.java:32) [错误]在org.openqa.selenium.chrome.ChromeDriverService $ Builder.findDefaultExecutable(ChromeDriverService.java:137) [错误]在org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:296) [错误]在org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) [错误]在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:138)

1 个答案:

答案 0 :(得分:0)

surefire配置部分应如下所示:

<configuration>
    <systemPropertyVariables>
        <webdriver.chrome.driver>${project.basedir}/src/test/resources/chromedriver.exe</webdriver.chrome.driver>
    </systemPropertyVariables>
</configuration>