用Cucumber截取屏幕截图

Sok*_*nak 1 cucumber cucumber-jvm cucumber-junit cucumber-cpp

我只是学习如何使用黄瓜.你能告诉我如何完成这段代码吗?

您可以使用以下代码段实现未定义步骤的步骤定义:

Then /^I take a screenshot$/ do
    pending # express the regexp above with the code you wish you had
end
Run Code Online (Sandbox Code Playgroud)

nil*_*esh 7

通常会在发生意外情况时拍摄屏幕截图.您可能还想捕获屏幕截图,以便在测试用例失败时进行报告.在这种特殊情况下,您应该在@After方法中使用截屏捕获逻辑,该方法将针对每个方案执行.Java,selenium版本,

@After("@browser")
public void tearDown(Scenario scenario) {
    if (scenario.isFailed()) {
            final byte[] screenshot = ((TakesScreenshot) driver)
                        .getScreenshotAs(OutputType.BYTES);
            scenario.embed(screenshot, "image/png"); //stick it in the report
    }
    driver.close();
}
Run Code Online (Sandbox Code Playgroud)