我对出了什么问题有几个猜测。
首先你说你已经运行了两次同样的事情,这让我认为你可能对 Allure 似乎如何组织结果有一个错误的假设。如果您只编写了 1 个 Behave 场景,则运行相同的测试两次只会显示 1 个测试。如果您单击测试,后续运行将显示在“重试”选项卡下(不确定为什么它不称为历史记录,但如果您需要历史记录,它现在位于答案的底部)。您需要 2 个行为场景才能出现第二个测试。
其次,您的结果文件夹似乎正在更改您提到report、results 和%allure_result_folder% 的路径。确保在运行之前创建一个结果文件夹,并且在行为命令中和 allure serve 之后具有相同的 -o 路径。例如,如果您有这样的文件夹结构:
folder_you_are_in/
├── features/
│ ├── steps/
├── allure/
│ ├── results/
| ├── reports/
你想像这样运行命令:
behave -f allure_behave.formatter:AllureFormatter -o allure/results ./features
然后是allure generate 和allure open 所需的路径(不是allure serve,不知道为什么,但 serve 在作为命令的一部分生成时似乎没有考虑历史)并确保您的路径匹配你的文件结构:
allure generate allure/results/ -o allure/reports
allure open allure/reports
屏幕截图似乎只显示了一个包含多个功能文件和场景的测试。但是,如果您正在寻找如何使历史工作,您需要将历史文件从以前的报告移动到新报告的结果文件中,出于某种原因,这只能通过构建插件自动完成,并且必须在测试时运行 manually本地。所以是这样的:
第一次试运行
behave -f allure_behave.formatter:AllureFormatter -o allure/results ./features
为第一次测试运行生成报告
allure generate allure/results/ -o allure/reports
第二次试运行
behave -f allure_behave.formatter:AllureFormatter -o allure/results ./features
将第 2 步生成的报告中的历史文件夹复制到第 3 步的结果
cp -R allure/reports/history allure/results/history
生成第二份魅力报告
allure generate allure/results/ -o allure/reports --clean
然后打开它
allure open allure/reports