如何为黄瓜报告附加base64截图?

Posted

技术标签:

【中文标题】如何为黄瓜报告附加base64截图?【英文标题】:How to attach base64 Screenshots for cucumber reports? 【发布时间】:2022-01-09 21:45:58 【问题描述】:

我试过的是,

final String Screenshot =((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
SCENARIO.attach(Screenshot,"image/png","BASE64");

SCENARIO.attach(Screenshot,"image/png:base64","Test 1");

详情:

io.cucumber - 6.9.1
Report - net.masterthought cucumber-reporting -5.6.1
Language -- Java

【问题讨论】:

您使用的是哪种报告? @NandanA 黄瓜大师心得(github.com/damianszczepanik/cucumber-reporting) 【参考方案1】:

要将屏幕截图附加为 base 64 图像,您需要将其捕获为 byte[] 而不是 String

@AfterStep
public void takeScreenShotAfterStep(Scenario scenario) throws IOException 
    if (scenario.isFailed()) 
        final byte[] screenShot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
        scenario.attach(screenShot, "image/jpg", scenario.getName());
    

【讨论】:

Bytes[] 将使用报告中的屏幕截图位置,因此所放置的屏幕截图的位置存在依赖关系。 ,以避免使用 base64,所以我正在寻找可以帮助我在报告中附加 base64 格式字符串的解决方案。 没有。它不会使用该位置。你试过了吗? 是的,它正在使用该位置, href="embeddings/embedding_908296921.jpg"

以上是关于如何为黄瓜报告附加base64截图?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 AutoIt 和 PowerShell 获得相同的 base64 编码?

如何为 Java 库编写黄瓜验收

如何为 Base32 类使用不同的字母表?

如何在 Jenkins 中将屏幕截图附加到 XCUITest 报告。只有通过 XCODE 运行才能看到截图

如何将黄瓜报告实用程序与空手道框架相结合?

如何为所有交易添加基于百分比的附加费(加上附加税)