通过电子邮件发送的范围报告不会加载屏幕截图

时间:2019-01-25 15:40:18

标签: java email extentreports

我正在尝试将范围报告作为电子邮件发送。报告已发送。问题是我的范围报告中的屏幕快照在电子邮件中丢失。如果我在本地设备上打开报告,则屏幕截图在那里。

这是针对硒测试所做的。我正在将范围报告用于日志。我正在尝试将范围报告作为电子邮件发送。报告已发送。问题是我的范围报告中的屏幕快照在电子邮件中丢失。如果我在本地设备上打开报告,则屏幕截图在那里。下面是我的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();

    }

}

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

1 个答案:

答案 0 :(得分:0)

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

解决方案是将报告和屏幕截图作为zip文件通过电子邮件发送,并确保图像相对于HTML文件保存。