我想在各自的文件夹中生成测试用例明智的报告。因此,例如,如果我运行登录测试用例,那么诱人的html报告应该保存在/ reports / login中。
我可以通过在测试执行完成后手动执行以下命令来轻松实现此目的。我使用的命令是:
allure generate allure-results -o E:\project\target\reports\loginReport --clean
但是这里的困难是我必须每次都要手动执行命令才能生成报告。
因此,我决定从java执行此诱人的命令,我尝试了以下代码:
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。
注意::我已经设置了诱人包的类路径。
答案 0 :(得分:1)
下面的代码对我来说很好用。我的Mac机器上安装了Java 1.8。
String[] cmd = {"allure", "serve","/Users/kireeti/IdeaProjects/testautomationframeworkshaft/allure-results"};
Runtime.getRuntime().exec(cmd);
Thread.sleep(90000);