testNG XML代码报告

问题描述 投票:0回答:2

我试图从我的Java代码访问org.testng.reporters.XMLReporter。我正在用eclipse插件编写代码,我是testNG的新手。

我有一个简单的类,有@BeforeSuite,@ AfterSuite和1 @Test(就像一个演示)我想我可以简单地添加Reporter.getOutput();到我的@AfterSuite方法看起来它返回一个列表,但它总是为null。我想我需要一个听众,但我不知道在哪里或如何添加它。

我的最终目标是访问在文件中生成的XML结果,默认情况下写入我自己的测试数据库我已经创建了我可以解析XML,因为默认生成它我宁愿在代码中完成所有操作。

testng
2个回答
0
投票

我不确定你要做什么。如果要访问生成的XML,为什么不在SuiteListener中执行此操作?或者甚至在TestNG完成后运行的过程中?


1
投票

要添加套件侦听器,您必须执行这些步骤。

  1. 创建一个实现ISuiteListner的类。 public class PlatformSuiteManager implements ISuiteListener { }
  2. 将侦听器添加到testng.xml,或者如果您正在运行通过maven surefire将listner添加到xml。

对于TestNg.xml套件,添加以下标记以指示监听器:

  <listeners>
    <listener class-name="com.example.PlatformSuiteManager" />
    <listener class-name="com.example.MyMethodInterceptor" />
  </listeners>

确保在配置选项卡下添加以下内容:

   <properties>
                            <property>
                                <name>usedefaultlisteners</name>
                                <value>false</value>
                            </property>
                          <property>
                                <name>listener</name>
                                <value>
                                    com.example.PlatformTestManager,com.example.PlatformSuiteManager
                                </value>
                            </property>
                        </properties>

如果您需要执行报表侦听器,则必须实现IReporter:

public class PlatfornReportManager implements IReporter {
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> iSuites, String s) {
 //Implementaion
}
 }

我想这回答了如何添加套件监听器以及如何添加报表监听器。

请注意,在套件的末尾调用报告侦听器。

如果您不清楚,请发出声音

请回答我使用默认监听器生成报告。告诉我TestNG的默认监听器

© www.soinside.com 2019 - 2024. All rights reserved.