我试图从我的Java代码访问org.testng.reporters.XMLReporter。我正在用eclipse插件编写代码,我是testNG的新手。
我有一个简单的类,有@BeforeSuite,@ AfterSuite和1 @Test(就像一个演示)我想我可以简单地添加Reporter.getOutput();到我的@AfterSuite方法看起来它返回一个列表,但它总是为null。我想我需要一个听众,但我不知道在哪里或如何添加它。
我的最终目标是访问在文件中生成的XML结果,默认情况下写入我自己的测试数据库我已经创建了我可以解析XML,因为默认生成它我宁愿在代码中完成所有操作。
我不确定你要做什么。如果要访问生成的XML,为什么不在SuiteListener中执行此操作?或者甚至在TestNG完成后运行的过程中?
要添加套件侦听器,您必须执行这些步骤。
public class PlatformSuiteManager implements ISuiteListener { }
对于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的默认监听器