My Project正在使用selenium-client-driver 0.9,基于selenium的集成测试将由maven使用maven-selenium-plugin执行。 (stackoverflow中已经有很多问题,但无法找到相关答案)。 Selenium测试用例失败并出现错误 引起:org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher $ FileLockRemainedException:锁定文件仍然存在! C:\ Users \用户nagappan.s \应用程序数据\本地的\ Temp \ customProfileDir23d2b92949d74270915586b2a3f2073a \ parent.lock 在org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFileLockToGoAway(FirefoxChromeLauncher.java:318) 在org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFullProfileToBeCreated(FacefoxChromeLauncher.java:365) ......还有20个
答案 0 :(得分:0)
我自己找到了答案。 Maven selenium插件只是启动集线器而不是selenium节点(集成和独立)。在我的例子中,它是旧版本的selenium 0.9,单元测试使用DefaultSelenium,因此它需要一个节点,它也可以通过打开浏览器和控制台来处理浏览器命令。所以我使用maven antrun插件启动了集线器和节点来启动服务器和集线器,如
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<configuration>
<target>
<property name="selenium.server.dir" value="${basedir}" />
<path id="selenium.classpath">
<fileset dir="${selenium.server.dir}">
<include name="selenium*.jar" />
</fileset>
</path>
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="selenium.classpath"
failonerror="true"
fork="false">
<arg line="-role hub"/>
</java>
<java classname="org.openqa.grid.selenium.GridLauncher"
classpathref="selenium.classpath"
failonerror="true"
fork="false">
<arg line="-role node
-hub http://localhost:4444/grid/register"/>
</java>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
现在完美无缺。