2012-10-02 106 views
2

我想用下面的代码同时运行两个TestNG的套房:如何在TestNG中为每个套件设置单独的testng-failed.xml文件?

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,所以我无法从第一个套件中看到失败的测试用例。

回答

0

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

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

我想你在这两个xml文件中使用相同的套件名称。

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

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

相关问题