testNG可以设置为并发执行测试用例。selenium grid可以通过grid hub将测试用例分别转发给不同的remote control/浏览器对,而且这些remote control/浏览器对可以位于不同的机器上,这样两者结合就可以实现可伸缩的自动web测试。
1. testNG并发执行测试用例的方法
在配置testNG的test.xml中,通过suit标签的属性可以指定并发执行,例如:
<suite name="My suite" parallel="methods" thread-count="5">
指定每一个测试方法使用单独的线程,总线程数为5
parallel可以为:
methods : 每个method使用一个线程
tests :每个<test>标签中的所有方法使用一个线程
classes : 每个class使用一个线程
可以参看这里:http://testng.org/doc/documentation-main.html#parallel-running
如果是使用ant启动测试的话,还可以在ant脚本中指定该参数,可以参照selenium grid中build.xml的代码:
- <target name="run-demo-for-multiple-environments"
- description="Run Selenium tests in parallel for multiple environments">
- <java classpathref="demo.classpath" classname="org.testng.TestNG" failonerror="true" >
- 略】
- <arg value="-d" />
- <arg value="${basedir}/target/reports" />
- <arg value="-suitename" />
- <