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

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

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

有关如何执行此操作的任何想法?

最佳答案

我将使用TestNG listeners而不是@AfterMethod,因为这会使您的测试与报告脱钩,从而使您的测试仅生成方案并断言失败。 ITestListener将允许您“侦听”失败的测试。

这是我如何在Webdriver中使用它的示例; Capture WebDriver Screenshots When Running Parallel Tests With TestNG

我了解您正在使用HTMLUnit,但是这里有一些想法和概念

09-10 07:14