java - 通过电子邮件发送的范围报告不加载屏幕截图
问题描述
我正在尝试以电子邮件的形式发送我的范围报告。报告正在发送。问题是电子邮件中缺少我的范围报告中的屏幕截图。如果我在本地设备中打开报告,屏幕截图就在那里。
这是针对正在进行的 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();
}
}
我希望在收到电子邮件时查看测试失败的屏幕截图。但是现在我在通过电子邮件发送的范围报告中看到了一个空白缩略图。
解决方案
这个问题在过去被多次提出。快速搜索会为您指明正确的方向。
解决方案是将报告连同屏幕截图以 zip 文件的形式通过电子邮件发送,并确保相对于 Html 文件保存图像。
推荐阅读
- javascript - 如何在 onchange 函数中传递 datalist 的数据值?
- python - 为什么我得到“分配前引用的局部变量”?
- spring-boot - 如何使用带有 Spring MVC/Thymeleaf 的 Rest Assured 的表单登录?
- python - 使用 Seaborn 的 factorplot 方法时遇到问题
- vim - 无法从 vimrc (mac) 成功使用自定义映射的 vim 命令
- sql - 如果运行超过 20 分钟,Postgresql 将终止查询
- javascript - 用于绘制图像的 for 循环
- express - 如果我将所有内容都包含在 jwt 有效负载中,是否需要在数据库中查找用户?
- salesforce - 在 SalesForce 中构建报告/仪表板
- android - 如何在 Google Maps Android 上“增加” VisibleRegion 的大小