首页 > 解决方案 > 通过电子邮件发送的范围报告不加载屏幕截图

问题描述

我正在尝试以电子邮件的形式发送我的范围报告。报告正在发送。问题是电子邮件中缺少我的范围报告中的屏幕截图。如果我在本地设备中打开报告,屏幕截图就在那里。

这是针对正在进行的 Selenium 测试。我正在为我的日志使用范围报告。我正在尝试以电子邮件的形式发送我的范围报告。报告正在发送。问题是电子邮件中缺少我的范围报告中的屏幕截图。如果我在本地设备中打开报告,屏幕截图就在那里。下面是我的 Listeners.java 的代码

import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;

public class Listeners implements ITestListener {

     protected static WebDriver driver;
     protected static ExtentReports reports;
     public static ExtentTest test;
     Base B = new Base();

    public void onTestStart(ITestResult result) {
          test = reports.startTest(result.getMethod().getMethodName());
          test.log(LogStatus.INFO, result.getMethod().getMethodName() + " test started");
         }


    public void onTestSuccess(ITestResult result) {
          test.log(LogStatus.PASS, result.getMethod().getMethodName() + " test passed");
         }

    public void onTestFailure(ITestResult result) {
          test.log(LogStatus.FAIL, result.getMethod().getMethodName() + " test failed");
          try {
            B.getScreenshot(result.getName());

   String file = 
    test.addScreenCapture("/Users/username/Documents/Eclipse-Workspace/Test/test-output/"+result.getName()+"screenshot.png");
            test.log(LogStatus.FAIL, result.getMethod().getMethodName() + "test failed", file);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void onTestSkipped(ITestResult result) {
          test.log(LogStatus.SKIP, result.getMethod().getMethodName() + " test skipped");

    }




    public void onStart(ITestContext context) {
        System.out.println("Started");
          driver = new ChromeDriver(); 
         reports = new ExtentReports( "./test-output/Extentreports.html");      
    }

    public void onFinish(ITestContext context) {
          driver.close();
          reports.endTest(test);
          reports.flush();

    }

}

我希望在收到电子邮件时查看测试失败的屏幕截图。但是现在我在通过电子邮件发送的范围报告中看到了一个空白缩略图。

标签: javaemailextentreports

解决方案


这个问题在过去被多次提出。快速搜索会为您指明正确的方向。

解决方案是将报告连同屏幕截图以 zip 文件的形式通过电子邮件发送,并确保相对于 Html 文件保存图像。


推荐阅读