如何为TestNG中的每个套件设置单独的testng-failed.xml?

时间:2012-10-02 04:54:14

标签: java testng

我希望使用以下代码同时运行两个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,所以我无法从第一个套件中看到失败的测试用例。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

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