java - 如何使用 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 包设置了类路径。
解决方案
下面的代码对我来说非常好。我的 Mac 机器上安装了 Java 1.8。
String[] cmd = {"allure", "serve","/Users/kireeti/IdeaProjects/testautomationframeworkshaft/allure-results"};
Runtime.getRuntime().exec(cmd);
Thread.sleep(90000);
推荐阅读
- angular - 使用比我安装的版本更小的 Angular 版本,我必须卸载项目安装吗?
- python - 如何用 python 发现视觉差异
- nginx - 基于 Nginx 位置的尝试文件?
- asp.net-core - 为什么我运行 WebApp 时有两个端口
- c++ - 如何将 Variadic Templates 变成多个单个模板?(C++ 竞争性编程调试模板)
- javascript - 如何确定 API 作业何时完成?
- c++ - C ++ - 从向量中删除特定的智能指针
- c# - 如何从 LINQ 中的另一个表中获取表的值
- python - 使用 django 显示生成的文档
- spring - 如何使用 JDBCTemplate 检查有效的数据库连接