【发布时间】:2019-03-26 13:53:51
【问题描述】:
我正在尝试在黄瓜报告的每一步之后添加屏幕截图,截至目前,在钩子工作正常之后,但这将截取最后一步失败的屏幕截图,在 java selenium + cucumber 中有没有一种方法可以让我获取小黄瓜场景每一步后的截图?
【问题讨论】:
我正在尝试在黄瓜报告的每一步之后添加屏幕截图,截至目前,在钩子工作正常之后,但这将截取最后一步失败的屏幕截图,在 java selenium + cucumber 中有没有一种方法可以让我获取小黄瓜场景每一步后的截图?
【问题讨论】:
基本上,您需要有一个帮助方法来在每个步骤之后进行屏幕截图,如下所示 -
class Utility{
public static Scenario message;
public static void takeScreenShotAfterEveryStep() {
byte[] screenshot = ((TakesScreenshot)DriverManager.getDriver()).getScreenshotAs(OutputType.BYTES);
message.embed(screenshot, "image/png");
}
}
调用上述方法,完全取决于你是如何实现框架的,其中一种方法可能是从 Cucumber hook 的 @Before method() 传递场景引用
@Before
public void setUpScenario(Scenario scenario){
Utility.message = scenario;
}
然后在每一步之后调用 takeScreenShotAfterEveryStep()
【讨论】:
我认为after step 钩子可以回答你的问题。
【讨论】: