我已经使用Cucumber + appium创建了一个测试自动化框架。 但是在执行框架后,我想通过电子邮件作为邮件正文发送报告(/target/cucumber/index.html),但无法执行此操作。 我对'testng emailable-reports.html'做的同样的事情,它的工作原理就像魅力。 我尝试过:- 1. Jenkins对硒.html使用“扩展的电子邮件插件”,报告说它工作正常,但对黄瓜来说却不起作用。 2.使用Java邮件api(jsoup库)。
我右键单击黄瓜index.html报告,然后显示以下代码:-
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cucumber Features</title>
<link href="style.css" rel="stylesheet">
<script src="jquery-1.8.2.min.js"></script>
<script src="formatter.js"></script>
<script src="report.js"></script>
</head>
<body>
<div class="cucumber-report"></div>
</body>
</html>
当我尝试使用Java Mail API时,首先我提取html,然后尝试发送html,但是它发送空白报告。 请帮助我如何将完整的html报告作为电子邮件正文发送,此报告还包含附件的“屏幕截图”,附件为/ target / cucumber /文件夹的结构:-
请帮助!
通过电子邮件发送代码:-
public class Email {
public static void main(String[] args) throws IOException, SendGridException {
FileInputStream fin=new FileInputStream(System.getProperty("user.dir")+"/src/main/resources/config.properties");
Properties prop=new Properties();
prop.load(fin);
StringBuilder path = new StringBuilder();
try
{ BufferedReader in = new BufferedReader(new FileReader(System.getProperty("user.dir")+prop.getProperty("reports")));
String str; while ((str = in.readLine()) != null)
{ path.append(str); } in.close(); } catch (IOException e) { } String content = path.toString();
System.out.println("HTML IS :---" +path);
SendGrid sendGrid = new SendGrid("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
SendGrid.Email email = new SendGrid.Email();
try {
String[] toList ={"suresh.s@gmail.in","suresh98714@gmail.com"};
email.addTo(toList);
} catch (Exception e) {
String emailTo = "suresh98714@gmail.com";
email.addTo(emailTo);
}
email.setFrom("suresh98714@gmail.com");
try {
SMTPAPI smtpapi = email.getSMTPAPI();
String[] cc ={"suresh.s@cashify.in","suresh98714@gmail.com"};
email.setCc(cc);
} catch (Exception e) {
}
try {// for bcc
String[] bcc = {"",""};
email.setBcc(bcc);
} catch (Exception e) {
}
email.setSubject("Cucumber Report");
email.setHtml(path.toString());
SendGrid.Response response =sendGrid.send(email);
System.out.println("Response is " +response.toString());
}
答案 0 :(得分:0)
如您所见,target下的Cucumber文件夹除了要作为电子邮件附件发送的index.html文件外,还有js和CSS文件。 Html文件将这些文件作为依赖项使用,因此您无法单独发送HTML文件,这就是为什么要获取空白文件的原因。一种解决方案是压缩整个黄瓜文件夹并作为附件发送,另一种解决方案是编写自定义包装器,以使用cucucmber.json文件
创建自己的独立HTML报告。