1

我正在尝试编写一个 TestNG @AfterMethod 函数,该函数基本上模仿“失败的屏幕截图”。除了它使用 HTMLUnit 并使用 getContent() 收集 XML。

因此,此“测试”在每个方法之后运行,以查看该方法是否导致通过或失败,如果 ITestResult 为 FAILURE,则打印出 XML。如果成功,则正文为空白。但是在每个方法之后,即使测试成功,它仍然会在报告页面上打印@AfterMethod 配置,并将参数传递给@AfterMethod。

如果测试失败,我只希望这个 @AfterMethod 函数出现在报告页面中。否则,即使正文是空白的,它也确实令人讨厌,并且会占用惊人的参数空间。

关于如何做到这一点的任何想法?

4

1 回答 1

0

我会考虑使用 TestNG侦听器而不是 @AfterMethod,因为这将使您的测试与报告分离,让您的测试只生成场景并断言失败。ITestListener 将允许您“收听”失败的测试。

这是我如何在 Webdriver 中使用它的示例;使用 TestNG 运行并行测试时捕获 WebDriver 屏幕截图

我了解您正在使用 HTMLUnit,但想法和概念就在那里

于 2013-09-09T19:32:56.027 回答