如何发送魅力报告的电子邮件?

sud*_*437 5 java email selenium allure

我正在尝试使用 selenium 发送框架生成的魅力报告的电子邮件。我已阅读文档,但找不到有关如何发送电子邮件的任何答案。

有人可以指出我正确的方向吗?

Kis*_*elu 5

我知道这个问题很老了。我找到了一些使用第三方和亚马逊 aws s3 存储桶托管 allure 的答案。第一个从安全角度来看不好,第二个涉及金钱。那么让我们看看下面这个免费的。希望这可以帮助遇到同样问题的人们。

下面的步骤很详细,百分百有效。

  1. 从 maven 中心下载 allure 命令行 zip 文件。2.13.5是我写这篇文章时的最新版本。Zip 文件可以从下面的链接下载。以下链接不是垃圾邮件或恶意软件。如果需要,您也可以从浏览器手动访问此链接:) https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.5/allure-commandline-2.13 .5.zip
  2. 下一步是提取此文件夹并将其移至您的 testng 存储库代码库。就我而言,我将提取的文件夹保留在 src/main/resources/config 下
  3. 每次从 java 代码生成 allure-report 时,请将此 allure-2.13.5 文件夹复制到生成的报告文件夹中。
  4. 然后你需要有两个文件才能在任何机器上打开报告(即使是在没有安装 allure 的机器上)。如果您使用的是 mac,则该文件是 shell 脚本open_report_mac.sh。如果您使用的是 Windows,则该文件是批处理脚本open_report_windows.bat
  5. 现在您可以将整个 allure-report 文件夹共享给任何人,他们只需要运行此批处理文件或 shell 脚本即可查看报告。我知道这是一个很长的方法,但即使没有吸引力,它也适用于机器。

open_report_windows.bat的代码:

SET PARENTDIR=%cd%
cd %PARENTDIR%\allure-2.13.5\bin
allure.bat open %PARENTDIR%
Run Code Online (Sandbox Code Playgroud)

open_report_mac.sh的代码:

parent_dir=$(pwd)
cd $parent_dir/allure-2.13.5/bin
allure open $parent_dir
Run Code Online (Sandbox Code Playgroud)

对于那些不知道如何以编程方式生成 allure-repor 的人,下面是我的代码。重要提示:您需要在 Mac 上安装 allure 才能运行以下代码。

public static void generateAllureReport() {
    String pattern = "dd-MM-yyyy_HH:mm:ss";
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
    String reportfolder = "allure-report_" + simpleDateFormat.format(new Date());
    executeShellCmd("allure generate allure-results");
    executeShellCmd("mv allure-report " + reportfolder);
    executeShellCmd("cp -R src/main/resources/config/allure-2.13.5 "+reportfolder);
    executeShellCmd("cp src/main/resources/config/open_report_mac.sh "+reportfolder);
    executeShellCmd("cp src/main/resources/config/open_report_windows.bat "+reportfolder);
}

public static void executeShellCmd(String shellCmd) {
    try {
        Process process = Runtime.getRuntime().exec(shellCmd);
        process.waitFor();
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("Error in Executing the command " + shellCmd);
    }
}
Run Code Online (Sandbox Code Playgroud)


A. *_*tra 1

Allure 生成一个文件集合,应该通过网络服务器查看这些文件。这是由于浏览器限制从磁盘读取文件。这是正确查看 Allure 报告所必需的。

因此,在我看来,您应该将 Allure 的结果发布在网络服务器上,并通过电子邮件发送报告链接。附带说明一下,发送带有嵌入式 JavaScript 的数兆字节电子邮件附件并不是一个好方法。