我正在使用 maven Surefire 插件并使用 testNG 运行 selenium webDriver,并且能够重用一个 JVM 实例来并行化我的测试。由于某种原因,我不确定如何运行超过 5 个。我尝试设置
<threadCountMethods> 10</threadCountMethods>
希望它一次运行 10 个线程,而不是 5 个线程,我认为这可能是默认值。
我正在对方法进行并行化,如下所示:
`
org.apache.maven.plugins
maven-surefire-插件
2.17
<configuration>
<useUnlimitedThreads>true</useUnlimitedThreads>
<threadCountMethods>10</threadCountMethods>
<parallel>methods</parallel>
<forkCount>0</forkCount>
<reuseForks>true</reuseForks>
<suiteXmlFiles>
<suiteXmlFile>kingHenry.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>`
套件文件配置如下:
<suite name="Suite" parallel="methods" >
<parameter name="seleniumHost" value="192.168.1.74" />
<parameter name="seleniumPort" value="4444" />
<parameter name="logHost" value="localhost" />
<parameter name="logPort" value="5000" />
<parameter name="networklogging" value="false" />
<test name="Showdme">
<parameter name="browser" value="phantomjs" />
<classes>
<class name="com.something.suites.kingHenry" />
<methods>
<include name="testScenario1" />
<include name="testScenario2" />
<include name="testScenario3" />
<include name="testScenario4" />
<include name="testScenario5" />
<include name="testScenario6" />
</methods>
</classes>
</test>
</suite>
在这里,我展示了列出了 6 个可并行化的方法,但在所附的图像中,一次仅运行 5 个浏览器实例。我想知道是否需要在 pom.xml 文件中编辑或添加配置属性,或者正在使用的 selenium 网格是否有一个设置限制 chromedriver 的 5 个实例。任何帮助将不胜感激... Surefire 插件上的一些关于线程/分叉的文档有点令人困惑。
如果您使用的是 Selenium Grid,那么您的测试一次限制为 5 个是有道理的。工厂 Selenium Grid 属性允许网格运行:
网络驱动程序:
- 5 谷歌浏览器
- 5 个火狐浏览器
- 1 个IE
旧版(RC):
- 5 谷歌浏览器
- 5 个火狐浏览器
- 1 个IE
您可以使用节点配置 json 文件更改这些值。
节点配置.json
{
"capabilities":
[
{
"browserName": "*chrome",
"maxInstances": 2,
"seleniumProtocol": "Selenium"
}
... (any other browser capabilities here)
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 10,
"port": 5555,
"register": true,
"registerCycle": 5000,
"hubPort": 4444
}
}
然后在运行节点时:
java -jar selenium-server-standalone.jar -role node -nodeConfig nodeConfig.json ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)