Java 如何为testng中的每个套件设置单独的testng-failed.xml?
我想使用以下代码同时运行两个TestNG套件:Java 如何为testng中的每个套件设置单独的testng-failed.xml?,java,testng,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.setTes
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 TestNG=new TestNG();
List suites=Lists.newArrayList();
add(“src/test/resources/NewRegTest.xml”);
add(“src/test/resources/NewRegTest1.xml”);
testng.setSuiteThreadPoolSize(2);
testng.setTestSuites(套房);
testng.run();
代码运行良好。问题是我想为每个套件分别获取一个
testng failed.xml
。现在,TestNG在每次运行套件时都会不断重写xml,因此我无法从first suite中看到失败的测试用例。这里的问题是,无法为每次执行保留报告。您可以指定任何报告位置,它将在新执行时替换所有报告。你能做的一个技巧是
添加带有时间戳的报告目录。这将为每次执行生成报告目录,并且您的历史报告在那里是安全的
java.util.Date date= new java.util.Date();
testng.setOutputDirectory("src/main/reports"+new Timestamp(date.getTime()));
testng.run();
这里的问题是,无法保存每次执行的报告。您可以指定任何报告位置,它将在新执行时替换所有报告。你能做的一个技巧是 添加带有时间戳的报告目录。这将为每次执行生成报告目录,并且您的历史报告在那里是安全的
java.util.Date date= new java.util.Date();
testng.setOutputDirectory("src/main/reports"+new Timestamp(date.getTime()));
testng.run();
我认为您在这两个xml文件中使用了相同的套件名称
<suite verbose="0" name="**Suite1**">
testng为输出目录下的每个套件名称创建一个子文件夹,该文件夹包含该套件的testng-failed.xml。使用不同的名称可以解决您的问题。我认为您在两个xml文件中使用了相同的套件名称
<suite verbose="0" name="**Suite1**">
testng为输出目录下的每个套件名称创建一个子文件夹,该文件夹包含该套件的testng-failed.xml。使用不同的名称可以解决您的问题