java - HTML : Unable to view the base64 image in html report

标签 java html image base64 selenium-extent-report

在 selenium 中,我通过 javamail API 自动邮寄范围报告。我正在使用 base 64 编码器生成屏幕截图并附加到报告中。问题是屏幕截图显示为缩略图,但当我缩放它时,它显示编码图像。 enter image description here

String scnShot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
String s="data:image/png;base64,"+scnShot;
test.log(LogStatus.INFO,test.addScreenCapture(s));

enter image description here

最佳答案

如果您使用的是 ExtentTest 那么这个函数肯定会起作用,您可以添加带有描述的屏幕截图...

public void LOGWithScreenshot(ExtentTest logger, String status, String TestDescription) throws IOException, InvalidFormatException {
    String Base64StringofScreenshot="";
    File src = ((TakesScreenshot) driverThread).getScreenshotAs(OutputType.FILE);
    byte[] fileContent = FileUtils.readFileToByteArray(src);
    Base64StringofScreenshot = "data:image/png;base64,"+Base64.getEncoder().encodeToString(fileContent);
    if(status.equalsIgnoreCase("pass"))
        logger.log(LogStatus.PASS, TestDescription+"\n"+logger.addBase64ScreenShot(Base64StringofScreenshot));
    else
        logger.log(LogStatus.FAIL, TestDescription+"\n"+logger.addBase64ScreenShot(Base64StringofScreenshot));
}

关于java - HTML : Unable to view the base64 image in html report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50583415/

相关文章:

java - 保留 ListView 中项目的检查状态

java - JVM 是否为每个对象创建一个互斥锁以实现 'synchronized' 关键字?如果没有,怎么办?

html - iframe 内的图片需要授权

php - 我想创建一个图像 slider ,自动滑动文件夹中的所有相似图像

javascript - 如何根据下拉列表中的值和用户输入更新工资

java - 在java中存储图像的最有效方法

java - Retrofit 2 编码中的特殊字符问题

java - 从 Assets 文件中解析 XML

在另一个 JS 完成后加载 Javascript CSS

javascript - 当我用 bootstrap html 制作表格时,第一行与表格标题合并