运行 个并行的 testNG 套件
Running testNG suites in parallel
我用gradle + testNG
测试动态生成集合 XML 个文件
结果,有一个文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="2" name="Suite" parallel="instances">
<suite-files>
<suite-file path="test-suite.xml"/>
<suite-file path="test2-suite.xml"/>
</suite-files>
</suite>
如何开始数据套件的并行执行?
文档中有一个使用 maven 和 -suitethpoolsize 的示例
https://testng.org/doc/documentation-main.html#parallel-suites
不适合gradle
我在网上搜索过,没有找到可行的解决方案
您可以考虑为此使用自定义 运行ner。创建一个新测试 class,然后创建一个 TestNG 实例,并将其与您的套件一起提供,例如:
class TestExecutor {
@Test
public runTests() {
List<String> suites = ... // Set here your xml paths
TestNG testNg = new TestNG();
testNg.setSuiteThreadPoolSize(suites.size());
testNg.setTestSuites(suites);
// you may also register your listeners here, e.g.:
// testNg.addListener(new MyITestListener());
testNg.run();
}
}
最后,将这个唯一的测试 class 包含在您的 gradle.build
文件中:
test {
useTestNG() {
}
include("**/TestExecutor.class")
}
现在 Gradle 将 运行 您的单个测试,这将并行触发所有测试套件。
我用gradle + testNG
测试动态生成集合 XML 个文件
结果,有一个文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="2" name="Suite" parallel="instances">
<suite-files>
<suite-file path="test-suite.xml"/>
<suite-file path="test2-suite.xml"/>
</suite-files>
</suite>
如何开始数据套件的并行执行?
文档中有一个使用 maven 和 -suitethpoolsize 的示例
https://testng.org/doc/documentation-main.html#parallel-suites
不适合gradle
我在网上搜索过,没有找到可行的解决方案
您可以考虑为此使用自定义 运行ner。创建一个新测试 class,然后创建一个 TestNG 实例,并将其与您的套件一起提供,例如:
class TestExecutor {
@Test
public runTests() {
List<String> suites = ... // Set here your xml paths
TestNG testNg = new TestNG();
testNg.setSuiteThreadPoolSize(suites.size());
testNg.setTestSuites(suites);
// you may also register your listeners here, e.g.:
// testNg.addListener(new MyITestListener());
testNg.run();
}
}
最后,将这个唯一的测试 class 包含在您的 gradle.build
文件中:
test {
useTestNG() {
}
include("**/TestExecutor.class")
}
现在 Gradle 将 运行 您的单个测试,这将并行触发所有测试套件。