首页 > 解决方案 > 如何使用 Java 执行 Allure 命令

问题描述

我想在各自的文件夹中生成测试用例报告。因此,例如,如果我运行登录测试用例,它的魅力 html 报告应该保存在 /reports/login 中。

一旦我的测试执行完成,我可以通过手动执行以下命令来轻松地做到这一点。我使用的命令是:

allure generate allure-results -o E:\project\target\reports\loginReport --clean

但是这里的困难是我每次都必须手动执行命令来生成报告。

所以我决定从 java 执行这个 allure 命令,我尝试了以下代码:

 String cmd = "allure generate allure-results -o E:\\project\target\\reports\\loginReport --clean";
 Process process = Runtime.getRuntime().exec(cmd);
 process.waitFor();

我将上面的代码称为我代码中的最后一个测试。但是出现错误:

java.io.IOException: Cannot run program "allure": CreateProcess error=2, The system cannot find the file specified

所以问题是如何从我的 java 代码中执行上述命令。我正在使用 Java、selenium、TestNG 和 maven。

注意:我已经为 allure 包设置了类路径。

标签: javaselenium-webdriverallure

解决方案


下面的代码对我来说非常好。我的 Mac 机器上安装了 Java 1.8。

String[] cmd = {"allure", "serve","/Users/kireeti/IdeaProjects/testautomationframeworkshaft/allure-results"};
    Runtime.getRuntime().exec(cmd);
    Thread.sleep(90000);

推荐阅读