我正在尝试将范围报告作为电子邮件发送。报告已发送。问题是我的范围报告中的屏幕快照在电子邮件中丢失。如果我在本地设备上打开报告,则屏幕截图在那里。
这是针对硒测试所做的。我正在将范围报告用于日志。我正在尝试将范围报告作为电子邮件发送。报告已发送。问题是我的范围报告中的屏幕快照在电子邮件中丢失。如果我在本地设备上打开报告,则屏幕截图在那里。下面是我的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();
}
}
我希望在收到电子邮件时查看因测试失败而拍摄的屏幕截图。但是现在我在电子邮件范围报告中看到一个空白的缩略图。
答案 0 :(得分:0)
这个问题过去曾多次提出。快速搜索将为您指明正确的方向。
解决方案是将报告和屏幕截图作为zip文件通过电子邮件发送,并确保图像相对于HTML文件保存。