有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java并行运行testNG套件

我使用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

不适合格拉德尔

我在互联网上搜索,没有找到有效的解决方案


共 (1) 个答案

  1. # 1 楼答案

    你可以考虑使用自定义的转轮。创建一个新的测试类,然后创建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文件中包含这个唯一的测试类:

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

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