共设5个测试班。每一个都使用@Factory(dataprovider=“data”)初始化。我想实现的是,每个测试类中的测试方法应该与dataprovider实例并行运行。此外,测试类应该并行运行。
如下所示。TestClass1应该并行运行dataprovider实例。因此,测试类TestClass1的所有方法将为dataprovider实例并行运行。
data-provider-thread-count=“10”parallel=“instances”thread-count=“5”“
在套件级别和测试级别,
parallel=“instances”thread-count=“5”
谢谢,提前。
import java.util.ArrayList;
import html" target="_blank">java.util.Iterator;
import java.util.List;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Factory;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import org.testng.reporters.EmailableReporter2;
@Listeners({ TestExecutionListener.class, EmailableReporter2.class })
public class TestClass {
private int value;
@Factory(dataProvider = "data", dataProviderClass = TestClass.class)
public TestClass(final int value) {
this.value = value;
}
@Test(alwaysRun = true)
public void testOdd() {
Assert.assertTrue(value % 2 != 0);
}
@Test(alwaysRun = true)
public void testEven() {
Assert.assertTrue(value % 2 == 0);
}
@DataProvider(name = "data")
public static Iterator<Object[]> data() {
List<Object[]> list = new ArrayList<>();
for (int i = 0; i < 2; i++) {
list.add(new Object[] { i });
}
return list.iterator();
}
}
testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="mobile rc automation suite"
data-provider-thread-count="10" parallel="instances" thread-count="5">
<test name="test_1" parallel="instances"
thread-count="5">
<classes>
<class name="com.test.TestClass1" />
</classes>
</test>
<test name="test_2" parallel="instances"
thread-count="5">
<classes>
<class name="com.test.TestClass2" />
</classes>
</test>
<test name="test_3" parallel="instances"
thread-count="5">
<classes>
<class name="com.test.TestClass3" />
</classes>
</test>
</suite>
我终于能够使用给定的testNG xml并行运行
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="mobile rc automation suite"
data-provider-thread-count="10" parallel="tests" thread-count="5">
<test name="test_1" parallel="instances"
thread-count="5">
<classes>
<class name="com.test.TestClass1" />
</classes>
</test>
<test name="test_2" parallel="instances"
thread-count="5">
<classes>
<class name="com.test.TestClass2" />
</classes>
</test>
<test name="test_3" parallel="instances"
thread-count="5">
<classes>
<class name="com.test.TestClass3" />
</classes>
</test>
</suite>
我正在试验如何与maven surefire和testng并行运行测试。然而,配置似乎不是很简单,我无法让它工作。下面是我的虚拟测试。 这是我的surefire配置: 测试基本上是按顺序运行的。以下是日志作为证据: 我的意图是并行运行所有测试(直到方法级别)。那么,我该如何实现呢?
我试图用TestNG并行运行一个示例测试项目。但它是在一个线程中顺序执行的。我漏掉什么了吗? 谢了。
请让我知道是否可以通过TestNG运行并行套件?
为了减少测试的运行时间,我希望并行运行测试。我有几个不能并行运行的类。 假设我有两种类型的类:-并行类-包含类1,类2-不并行类-包含类3,类4我想并行运行类1和类2到类3和类4(但lass3不会并行运行到类4) 我试图这样做: 我并行运行这两个测试,但只有第一个测试具有类的并行性。 如果我可以选择添加parallel=“classes”进行测试,我尝试在TestNG文档中搜索。我看不到,但它正在
这是驱动程序类,它将为每个测试方法创建驱动程序实例。