这是我要做的。我有一个测试,该测试转到测试页并执行一些复杂的任务,请稍等片刻,然后在测试失败时拍摄屏幕快照,并使用OCR工具执行其他任务。我希望同一测试能够同时在10个chrome浏览器会话上运行,我们正在尝试对此进行准负载测试,并且由于使用第三方库该测试已经足够复杂,因此对于Jmeter使用类似WebDriver插件的外观在这里可行。无论如何,无论我尝试什么,该测试似乎都是一个接一个地运行,而不是打开10个浏览器窗口并并行运行。这是到目前为止我没有尝试过环顾四周的方法。
TestNG.xml路由
<suite name="UI Tests" parallel="methods" preserve-order="true" thread-count="10">
没有工作
Maven路线
在pom.xml中添加了以下内容
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<forkCount>10</forkCount>
<reuseForks>true</reuseForks>
</configuration>
</plugin>
</plugins>
</build>
...
尝试过一些骇人听闻的事情
数据提供者路线
为测试提供唯一的数据,以便它可以同时运行相同的测试,但无济于事。
@DataProvider(name="Unique")
public static Object[][] unique(){
return new Object[][] {
{"someValue"},
....
};
}
@Test(dataProvider="Unique")
public void test(String unique){
//test code
}
以上选项都不适合我在chrome浏览器上同时运行相同的测试多次。有没有更好的方法来实现它?
您是否尝试将threadPoolSize和invocationCount参数添加到@Test批注?