如何从Allure报告中移除失败的测试用例?
从Allure报告中移除失败测试用例的方法
方法一:生成报告时直接过滤失败用例
使用Allure命令行的状态过滤参数,直接生成不包含失败用例的报告:
- 只保留成功用例:
allure generate --clean --include-statuses passed - 排除失败用例(保留成功、跳过等其他状态):
allure generate --clean --exclude-statuses failed
参数说明:
--clean:清理之前生成的旧报告--include-statuses:指定要包含的测试状态,多个状态用逗号分隔(如passed,skipped)--exclude-statuses:指定要排除的测试状态
方法二:删除结果目录中的失败用例文件
Allure的测试结果存储在allure-results目录下的JSON文件中,每个测试用例对应一个JSON文件。可以通过脚本批量删除标记为失败的用例文件:
以下是Python示例脚本:
import os import json # 替换为你的Allure结果目录路径 results_dir = "./allure-results" for file_name in os.listdir(results_dir): if file_name.endswith(".json"): file_path = os.path.join(results_dir, file_name) with open(file_path, "r", encoding="utf-8") as f: case_data = json.load(f) # 检查用例状态是否为failed,是则删除文件 if case_data.get("status") == "failed": os.remove(file_path)
执行脚本后,重新运行allure generate --clean生成新报告即可。
方法三:测试执行阶段提前过滤(可选)
如果不想让失败用例进入结果集,可在测试框架层面配置:
- 对于Pytest:可结合自定义插件或标记,在测试执行时跳过已失败的用例,但这种方式需要修改测试逻辑,适合提前规划的场景。
内容的提问来源于stack exchange,提问作者Jyotiprakash Rout
相关产品推荐
相关产品推荐

