我正在尝试使用selenium-maven-plugin在maven中使用角色中心运行selenium服务器,以便从远程控制测试中使用phantomjs驱动程序,到目前为止,我的插件配置非常简单:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>selenium-maven-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>start-selenium</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start-server</goal>
</goals>
<configuration>
<background>true</background>
</configuration>
</execution>
<execution>
<id>stop-seleniump</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop-server</goal>
</goals>
</execution>
</executions>
</plugin>
然后我使用maven执行插件挂钩phantomjs:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>phantomjs</executable>
<arguments>
<argument>--webdriver=8080</argument>
<argument>--webdriver-selenium-grid-hub=http://localhost:4444</argument>
</arguments>
</configuration>
</plugin>
使用此配置,输出为:HTTP ERROR: 403 Forbidden for Proxy
,我不能再继续了。任何人都成功配置了这个?
答案 0 :(得分:0)
创建一个使用YAJSW(又一个Java Service Wrapper)的脚本来容纳将网格集线器注册为服务并不是太过分。然后,Maven可以调用脚本并将其作为自己独立的进程启动。此外,Maven可以拨打停止服务来阻止它。我觉得它很优雅。
Here is my almost working attempt。我需要向Selenium专家寻求帮助以使其正常运行。注册意外服务时出错。大部分工作都已完成。一旦我开始工作,最好能帮到你。
现在,虽然您可以将Grid Hub作为服务运行,但您不希望对Node执行相同操作,因为它需要访问桌面(并且服务只能访问其自己的隐藏私有桌面)。所以,也许这会让我们回到你想要解决的同样问题。