在范围报告中获取损坏的图像4

问题描述

我在项目版本4.0.9中使用了范围报告,并向报告添加了失败报告的屏幕快照,添加后很容易生成报告,但是当我尝试打开屏幕截图时,它显示的图像是破碎的。

我正在使用两个类文件来生成报告:-

第一类文件,在该文件中,我仅配置报告的基本设置,然后将范围报告对象返回给我的侦听器类,该类的代码如下:-

package com.parellelFramework.ReportUtils;

import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.reporter.ExtentSparkReporter;
import com.aventstack.extentreports.reporter.configuration.Theme;

public class ExtentReporterUtils {

    static ExtentReports extentReporter;

    public static ExtentReports extentReportGenerator(){

        String path=System.getProperty("user.dir")+"/Extent-reports/index.html";
        ExtentSparkReporter sparkReporter=new ExtentSparkReporter(path);
        sparkReporter.config().setReportName("Demo insurance Test report");
        sparkReporter.config().setDocumentTitle("Parallel test execution");
        sparkReporter.config().setTheme(Theme.DARK);

        extentReporter=new ExtentReports();
        extentReporter.attachReporter(sparkReporter);
        extentReporter.setSystemInfo("OS NAME",System.getProperty("os.name"));
        extentReporter.setSystemInfo("JAVA VERSION",System.getProperty("java.version"));
        extentReporter.setSystemInfo("MAVEN VERSION",System.getProperty("3.6.3"));
        extentReporter.setSystemInfo("USER LOCATION",System.getProperty("user.country"));
        extentReporter.setSystemInfo("USER TIME",System.getProperty("user.timezone"));
        return extentReporter;
    }
}

然后,我使用ITestListener类,在其中使用常规方法,并添加日志并将屏幕快照附加到报告中

package com.parellelFramework.ReportUtils;

import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.Status;
import com.parellelFramework.utilities.CommonUtils;
import org.testng.ITestListener;
import org.testng.ITestResult;
import java.io.IOException;

public class ExtentReportListener implements ITestListener{

    ExtentReports reporter;
    ExtentTest extentTest;

    public void onTestStart(ITestResult result) {

        reporter=ExtentReporterUtils.extentReportGenerator();
        extentTest=reporter.createTest(result.getMethod().getMethodName()+" has been started");

    }

    public void onTestSkipped(ITestResult result) {

      extentTest.log(Status.INFO,result.getMethod().getMethodName()+ "has been skipped");
    }

    public void onTestSuccess(ITestResult result) {


        try {

            extentTest.log(Status.PASS,result.getMethod().getMethodName()+" has been successfully completed");
            extentTest.addScreenCaptureFromPath(CommonUtils.TakeScreenshot(result.getMethod().getMethodName()),result.getMethod().getMethodName());
            System.out.println("Screenshot captured and added");
            reporter.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public void onTestFailure(ITestResult result) {

        extentTest.log(Status.FAIL,result.getMethod().getMethodName()+"has been failed");
        try {
            extentTest.addScreenCaptureFromPath(CommonUtils.TakeScreenshot(result.getMethod().getMethodName()),result.getMethod().getMethodName());
            System.out.println("Screenshot captured and attached in report");
            reporter.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

现在,当生成带有屏幕截图的报告时,我在屏幕截图中出现了损坏的图像。我已经尝试过使用MediaEntitybuilder将屏幕快照附加到报告中,但是并没有解决问题。所以请帮助

附有参考图像:-

Extent-Report

Broken image

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...