求助:使用Cucumber Scenario API转换byte[]图片为Base64失败
问题:Cucumber+Extent Report Base64截图显示损坏
尝试通过Cucumber API将byte[]格式的截图转换为Base64后附加到Extent Report,转换后的图片显示损坏;但直接附加byte[]格式的截图可以正常显示。
使用版本
- Cucumber版本:
6.9.0 - Extent Report适配器:
extentreports-cucumber6-adapter:2.8.0
无法正常工作的代码(手动转换Base64)
@After(order = 1) public void tearDown(Scenario scenario) { if (scenario.isFailed()) { // take screenshot: String screenshotName = scenario.getName().replaceAll(" ", "_"); byte[] sourcePath = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES); String base64Img = Base64.getEncoder().encodeToString(sourcePath); scenario.attach(base64Img, "image/png", screenshotName); } }
无法正常工作的代码(直接获取Base64)
@After(order = 1) public void tearDown(Scenario scenario) { if (scenario.isFailed()) { // take screenshot: String screenshotName = scenario.getName().replaceAll(" ", "_"); String sourcePath = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64); scenario.attach(sourcePath, "image/png", screenshotName); } }
可以正常工作的代码(直接使用byte[])
@After(order = 1) public void tearDown(Scenario scenario) { if (scenario.isFailed()) { // take screenshot: String screenshotName = scenario.getName().replaceAll(" ", "_"); byte[] sourcePath = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES); scenario.attach(sourcePath, "image/png", screenshotName); } }
恳请各位提供解决建议或指导!
内容的提问来源于stack exchange,提问作者Sanghamitra Bhowmick
相关产品推荐
相关产品推荐

