我正在使用 Selenium-Cucumber 框架。我可以在其中生成 html 报告,但它与以前生成的报告重叠。下面给出了我的 TestRunner 类。
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"./src/test/resources/com/features"},
glue = {"stepdefinitions", "AppHooks"},
tags = "@f2",
plugin = {"pretty", "html:target/cucumber.html",
"json:target/cucumber.json"}
)
public class MyTestRunner {
}
那么我如何在报告文件名末尾附加时间戳变量,以便生成具有唯一名称的报告文件。提前致谢。
您可能想尝试默认情况下分离测试运行的报告器,例如 Allure Report。它将向您显示所有测试运行的通过/失败趋势:
如果在 CI 中运行,“趋势”图是交互式的,单击其上的特定测试运行会显示该运行的统计信息。该报告还显示每个单独测试的过去执行情况:
如果你在 CI 系统上运行 Allure,所有这些都是默认工作的;如果您在本地运行它,启用历史记录需要一些苦力。
1。在 CI 中运行
Allure Report与不同CI系统集成;如果您选择其中一个,您可以在官方文档中查看其说明。 此处提供了使用 GitHub Actions 运行的演示报告。
2。本地启用历史记录
如果您已将 Allure Report 与您的测试框架集成,运行测试将自动生成测试结果;默认情况下,它们保存在
allure-results
文件夹中(您也可以指定自定义路径)。要根据这些结果生成 HTML 报告并将其放入 allure-report
文件夹中,请运行 allure generate allure-results
。这可以扩展到 allure generate allure-results --clean -o allure-report
以指定输出文件夹并自动删除那里以前的报告。最后,要打开报告,请运行 allure open allure-report
。当然,所有这些都可以通过 bash 脚本自动化。
现在,这些命令会向您显示一次运行的报告。要将其结果添加到下次运行的报告中,请执行以下操作:
allure-results
文件夹allure-results
文件夹)history
文件夹从 allure-report
文件夹复制到 allure-results
文件夹allure generate
命令生成一个新文件夹。瞧,您已经获得了一份包含之前运行历史记录的报告。
用脚本来做
每次运行测试时执行此操作可能会很痛苦,但您可以使用 bash 脚本自动执行这些命令:
#!/bin/bash
RESULTS_DIR="allure-results"
REPORT_DIR="allure-report"
HISTORY_DIR="$REPORT_DIR/history"
if test -d $HISTORY_DIR;
then
cp -r $HISTORY_DIR $RESULTS_DIR
fi
allure generate $RESULTS_DIR --clean -o $REPORT_DIR
allure open $REPORT_DIR
$SHELL
在项目中安装Allure
如果您决定使用 Allure,最简单的安装方法是通过 Homebrew:
brew install allure
然后,您必须将 Allure 依赖项添加到您的项目中;它会根据您使用的构建工具而有所不同,您可以在here查看JUnit的详细步骤。
添加依赖项后,每次运行测试时都会在
allure-results
文件夹中自动生成 Allure 报告。要查看报告,只需在控制台中运行以下命令:
allure serve path/to/the/allure/results/folder