运行 使用 Maven 同时在多个线程上进行单个 TestNG 测试
Running a single TestNG test on multiple threads simultaneously using Maven
这就是我想要做的。
我有一个测试进入测试页面并执行一些复杂的任务,等待一段时间,如果测试失败并使用 OCR 工具进行进一步的任务,则截取屏幕截图。我希望同时在 10 个 chrome 浏览器会话上对 运行 进行同样的测试,我们正在尝试对此进行准负载测试,因为使用第三方库测试已经足够复杂,使用类似Jmeter 的 WebDriver 插件在这里看起来不可行。无论如何,无论我尝试什么,测试似乎都是 运行 一个接一个,而不是同时打开 10 个浏览器 windows 和 运行ning。到目前为止,这是我在浏览互联网时所做的尝试。
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
}
None 以上选项对我有用 运行 在 chrome 浏览器上同时多次进行相同的测试。有没有更好的实现方式?
您是否尝试将 threadPoolSize 和 invocationCount 参数添加到 @Test 注释?
这就是我想要做的。 我有一个测试进入测试页面并执行一些复杂的任务,等待一段时间,如果测试失败并使用 OCR 工具进行进一步的任务,则截取屏幕截图。我希望同时在 10 个 chrome 浏览器会话上对 运行 进行同样的测试,我们正在尝试对此进行准负载测试,因为使用第三方库测试已经足够复杂,使用类似Jmeter 的 WebDriver 插件在这里看起来不可行。无论如何,无论我尝试什么,测试似乎都是 运行 一个接一个,而不是同时打开 10 个浏览器 windows 和 运行ning。到目前为止,这是我在浏览互联网时所做的尝试。
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
}
None 以上选项对我有用 运行 在 chrome 浏览器上同时多次进行相同的测试。有没有更好的实现方式?
您是否尝试将 threadPoolSize 和 invocationCount 参数添加到 @Test 注释?