我试图实现org.testng IReporter接口。我的Java并不好,基于我在网上找到的一些例子,我可以创建一个Reporter类。我遇到的问题是如何使用它,以及我在哪里调用它以及如何以及将哪些参数传递给它?创建自定义TestNG报告 - WebDriver
公共类记者实现IReporter {
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory){
ISuiteResult results =suites.get(0).getResults().get("Sanity Suite");
ITestContext context = results.getTestContext();
IResultMap passedTests = context.getPassedTests();
IResultMap failedTests = context.getFailedTests();
// Print all test exceptions...
for(ITestResult r: failedTests.getAllResults()) {
System.out.println(r.getThrowable());
}
}
}
例如,我有这个webdriver的硒TestNG的测试:
公共类VerifyTest扩展TestBase {
@Test
public void test1() {
verifyTrue(false);
verifyEquals("pass", "fail");
verifyFalse(true);
}
@Test
public void test2() {
verifyTrue(false);
assertEquals("pass", "fail");
verifyFalse(true);
}
如何我是否会使用我的记者在t处获得自定义报告他结束了运行?
谢谢!
谢谢塞德里克,你可以是一个虽然更具体一些?我如何在Reporter和我的测试之间建立联系? – 2012-04-19 03:37:23
传递给您的generateReport()方法的参数包含测试套件的整个结果,所以一切都在那里。如果您感到困惑,请查看现有记者(查看实施IReporter的所有课程)并查看他们如何检索他们的结果。 – 2012-04-19 19:19:32