将 Selenium 报告发送到电子邮件

Sending Selenium report to e-mail

我正在尝试将 Selenium 报告发送到我的电子邮件地址。

在我的 pom 中,我添加了 spring-context-support 和 javax.mail-api。

问题是我不知道如何将 HTML 页面读入 InputStreamSource,所以我可以将它发送到我的电子邮件地址。有人可以告诉我吗?这是我发送电子邮件的方法:

private void sendMail() {

    MimeMessage message = mailSender.createMimeMessage();
    try {
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        if (emailTo.contains(",")) {
            helper.setTo(emailTo.split(","));
        } else {
            helper.setTo(emailTo);
        }
        helper.setFrom("from@domain.com");
        helper.setSubject("Selenium: Something went wrong");
        helper.setText("Please see the attached report");

        // I need help with this:
        InputStreamSource iss = getInputSteam("Testresult.html");




        helper.addAttachment("Testresult.html", iss,
                "text/html; charset=UTF-8");
        mailSender.send(message);
    } catch (javax.mail.MessagingException me) {
        throw new RuntimeException("Messaging exception caught: " + me.getMessage());
    }
}

如果 HTML 文件可以在本地访问(确保文件路径正确),这应该有效:

InputStreamSource iss = FileSystemResource("path/to/your/file");

或者这个,如果你可以使用 URL(在本例中通过 HTTP):

InputStreamSource iss = FileSystemResource(new URL("http://my.file.url"));

请注意 MimeMessageHelper 有一个这样的方法:

addAttachment(String attachmentFilename, File file)

如果您不必关心 contentType

,这会更容易