我们使用 Cucumber-JVM 编写验收测试脚本,并使用 JUnit 来执行它们(通过 JUnit Cucumber 运行程序)。由于这些测试涉及 Selenium WebDriver,因此我希望能够在测试失败时截取屏幕截图(我有代码)。
如果我只是添加一个 WebDriver onException 挂钩,则当断言失败时将不会截取屏幕截图。我希望能够向 Cucumber 运行程序添加 JUnit 执行侦听器,但 API 似乎不支持此操作(Cucumber.class 上没有 addListener 方法)。
有人可以帮忙吗?感谢团队。
我一般都会截图@After
在每个黄瓜场景之后都会调用的钩子。@After
hook 方法需要一个特殊的Scenario
对象,以便您可以将屏幕截图嵌入报告中。以下是有关如何在场景失败时截取屏幕截图的示例,
@After
public void tearDown(Scenario scenario) {
try {
if (scenario.isFailed()) {
final byte[] screenshot = ((TakesScreenshot) driver)
.getScreenshotAs(OutputType.BYTES);
scenario.embed(screenshot, "image/png");
}
} finally {
driver.quit();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)