繁体   English   中英

并行运行 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

我在互联网上搜索并没有找到可行的解决方案

您可以考虑为此使用自定义运行器。 创建一个新的测试 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();
    }
}

最后,在gradle.build文件中包含这个唯一的测试 class:

test {
    useTestNG() {
    }
    include("**/TestExecutor.class")
}

现在 Gradle 将运行您的单个测试,这将并行触发您的所有测试套件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM