Java HTML:无法在HTML报告中查看base64图像

Java HTML:无法在HTML报告中查看base64图像,java,html,image,base64,selenium-extent-report,Java,Html,Image,Base64,Selenium Extent Report,在selenium中,我通过javamail API自动邮寄范围报告。我使用Base64编码器生成屏幕截图并附加到报告中。问题是屏幕截图显示为缩略图,但当我缩放它时,它会显示编码图像 来自数据块报告GIT- 此版本当前不支持Base64图像,因为它们在以前的版本中导致了问题,并且….如果您使用ExtentTest,则此功能将无法正常工作,您可以添加带有说明的屏幕截图 public void LOGWithScreenshot(ExtentTest logger, String status, S

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


来自数据块报告GIT-


此版本当前不支持Base64图像,因为它们在以前的版本中导致了问题,并且….

如果您使用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));
}

我已经在selenium C#中完成了这项工作,您可以修改以在Java中使用它:

您只需将映像转换为Base64映像并使用Media entity builder即可

Screenshot file = ((ITakesScreenshot)driver).GetScreenshot();
string image = file.AsBase64EncodedString;

exTest.Pass(msg, MediaEntityBuilder.CreateScreenCaptureFromBase64String(image).Build());
System.Diagnostics.Trace.WriteLine("PASS >>>>  " + msg);

扩展版本?我面临同样的问题。我的版本是3.1.2。请建议
Screenshot file = ((ITakesScreenshot)driver).GetScreenshot();
string image = file.AsBase64EncodedString;

exTest.Pass(msg, MediaEntityBuilder.CreateScreenCaptureFromBase64String(image).Build());
System.Diagnostics.Trace.WriteLine("PASS >>>>  " + msg);