【问题标题】:How to set separate testng-failed.xml for each suite in TestNG?如何为 TestNG 中的每个套件设置单独的 testng-failed.xml?
【发布时间】:2012-10-06 01:31:41
【问题描述】:

我想使用以下代码同时运行两个 TestNG 套件:

TestNG testng = new TestNG();
List<String> suites = Lists.newArrayList();
suites.add("src/test/resources/NewRegTest.xml");
suites.add("src/test/resources/NewRegTest1.xml");
testng.setSuiteThreadPoolSize(2);
testng.setTestSuites(suites);
testng.run();

代码运行良好。问题是我想为每个套件获得一个单独的testng-failed.xml。现在,TestNG 每次运行套件时都会重写 xml,所以我无法从第一个套件中看到失败的测试用例。

【问题讨论】:

    标签: java testng


    【解决方案1】:

    这里的问题是无法为每次执行保留报告。您可以指定任何报告位置,它将在新的执行发生时替换所有报告。你可以做的一个技巧是 添加报告目录附加时间戳。这将为每次执行生成报告目录,并且您的历史报告在那里是安全的。

    java.util.Date date= new java.util.Date(); 
    testng.setOutputDirectory("src/main/reports"+new Timestamp(date.getTime()));
    testng.run();
    

    【讨论】:

      【解决方案2】:

      我认为您在两个 xml 文件中使用了相同的套件名称。

      <suite verbose="0" name="**Suite1**">
      

      testng 在输出目录下为每个套件名称创建一个子文件夹,该文件夹包含该套件的 testng-failed.xml。使用不同的名称可以解决您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-04
        • 1970-01-01
        • 2014-10-28
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-19
        相关资源
        最近更新 更多