在一个testNG报告中显示多个测试套件的所有失败测试

时间:2016-06-06 07:32:15

标签: java maven unit-testing selenium testng

其实我正在为我的公司测试多个网站。所有的网站都有相同的结构,我正在测试各自的各种东西。

对于我的测试,我有一个使用TestNG的Selenium Java Maven项目。对于每个网站,我创建了一个子文件夹并生成一个特定的testing.xml文件,以指定我为该网站所做的每项测试。

结构:http://imgur.com/g0VHfMw

我的testing.xml文件是这样的:

  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
  <suite name="Test suite website 1" parallel="tests" thread-count="2">
    <test name="Test1">
      <classes>
        <class name="package.for.mytest1"></class>
      </classes>
    </test>
    <test name="Test2">
      <classes>
        <class name="package.for.mytest2"></class>
      </classes>
    </test>
    <test name="Test3">
      <classes>
        <class name="package.for.mytest3"></class>
      </classes>
    </test>
 </suite>

如何在一个testNG报告中合并这个4测试套件?如果有可能,有没有办法只显示不稳定或失败的测试?

有什么想法吗?谢谢你的帮助

3 个答案:

答案 0 :(得分:1)

尝试Allure它可以轻松生成多个套件的合并报告,默认情况下仅显示失败/损坏的测试。

答案 1 :(得分:0)

您可以在TestNG.xml文件中使用Suite-XML标记在单个报告中报告所有测试,或者实现您自己的记者收集所有结果,然后最后将所有内容刷新到您自己格式的报告中无论你需要什么信息。

答案 2 :(得分:0)

您可以创建一个单独的testng.xml文件,您可以在其中提供其他testsuites文件的路径。

例如: -

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >


<suite name= "Allsuites" verbose="1" preserve-order="true" >
    <listeners>
      <listener class-name="org.uncommons.reportng.HTMLReporter"/>
      <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
    </listeners>


    <suite-files preserve-order="true">
     <suite-file path="testng1.xml" /> 
     <suite-file path="testng2.xml" />
     <suite-file path="testng3.xml" />
    </suite-files>  


</suite>