我正在尝试编写一个TestNG @AfterMethod函数,该函数基本上模仿了“失败时的屏幕截图”。除了它使用HTMLUnit并使用getContent()收集XML。
所以这个“Test”在每个方法之后运行以查看该方法是否导致传递或失败,并且如果ITestResult是FAILURE则打印出XML。如果成功,身体就是空白。 但是在每个方法之后,即使Test是成功的,它仍会在Report页面上打印@AfterMethod配置,并将参数传递给@AfterMethod。
如果测试失败,我只希望这个@AfterMethod函数出现在报告页面中。否则,它实际上是令人讨厌的,并且即使身体是空白的,也会占用参数的惊人空间。
关于如何做到这一点的任何想法?
答案 0 :(得分:0)
我会考虑使用TestNG listeners而不是@AfterMethod,因为这会将您的测试与报告分离,让测试只生成场景并断言失败。 ITestListener将允许您“监听”失败的测试。
以下是我在Webdriver中如何使用它的示例; Capture WebDriver Screenshots When Running Parallel Tests With TestNG
我知道你使用的是HTMLUnit,但是想法和概念都在那里