【问题标题】:XML results are overridden when multiple suites are executed执行多个套件时覆盖 XML 结果
【发布时间】:2016-10-25 05:35:28
【问题描述】:

我正在以编程方式运行我的 TestNG 测试。我正在注入多个套件并执行。但是当我执行以下操作时,testng-results.xml 不包含每个套件的所有结果。我只得到最后一个套件的结果。有没有人遇到过同样的问题?

            TestNG tng = new TestNG();
            List<XmlSuite> suites = new ArrayList<>();

            for (Deployment deployment : deploymentList) {

            tcList = tlsite.getTestCaseClassList();

                XmlSuite suite = new XmlSuite();
                suite.setName(deployment.getName());
                XmlTest test = new XmlTest(suite);
                test.setName("AutomationTests");
                List<XmlClass> classes = new ArrayList<>();

                for (Object className : tcList){
                    try {
                        classes.add(new XmlClass((String) className));
                    } catch (TestNGException e){
                        log.error("Error occurred while adding the class : " +e.toString());
                    }
                }
                test.setXmlClasses(classes) ;
                suites.add(suite);
            }
            tng.setXmlSuites(suites);
            tng.setOutputDirectory("my-out"); 
            tng.run();

更新:如果我按以下方式运行它,它可以工作。但我想动态生成套件。我做错了什么?

            TestNG testng = new TestNG();
            List<String> suites = new ArrayList<>();
            suites.add("../src/test/resources/testng.xml"); 
            testng.setTestSuites(suites);
            testng.run();

testng.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="suite of suites">
    <suite-files>
        <suite-file path="testng_pattern1.xml" />
        <suite-file path="testng_pattern2.xml" />
    </suite-files>
</suite>

【问题讨论】:

    标签: testing automated-tests testng integration-testing maven-surefire-plugin


    【解决方案1】:

    我提供的示例可以按您的预期工作,我希望,请参阅GitHub。您需要使用 childSuite.setParentSuite(parentSuite) 为您的所有嵌套套件设置父套件。

    【讨论】:

    • 我想要一个文件中的结果。
    • 您是指单个文件还是单个报告?
    • 我需要一个 testng-result.xml 中的所有结果。正如我在使用第二种方法时提到的,它按预期工作。
    • 感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2013-07-13
    • 2021-10-03
    • 2018-08-11
    • 2021-01-23
    相关资源
    最近更新 更多