gpt4 book ai didi

java - JUnit 测试失败 Hook 上的 Cucumber

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:03 26 4
gpt4 key购买 nike

我们使用 Cucumber-JVM 来编写我们的验收测试脚本,并使用 JUnit 来执行它们(通过 JUnit Cucumber 运行程序)。由于这些测试涉及 Selenium WebDriver,我希望能够在我的测试失败时截取屏幕截图(我有相应的代码)。

如果我简单地添加一个 WebDriver onException 钩子(Hook),当断言失败时将不会截取屏幕截图。我希望能够向 Cucumber runner 添加 JUnit 执行监听器,但 API 似乎不支持此功能(Cucumber.class 上没有 addListener 方法)。

有人可以帮忙吗?感谢团队。

最佳答案

我通常在 @After Hook 中截取屏幕截图,该 Hook 在每个 cucumber 场景后都会被调用。 @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();
}
}

关于java - JUnit 测试失败 Hook 上的 Cucumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21226985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com