如何按测试计划或Tag自动获取测试用例执行历史?
自动从Tag/测试计划维度获取测试用例执行历史的方案
工具内置功能与API调用
- 批量导出+定时任务:多数主流测试管理工具支持按Tag或测试计划直接筛选执行历史,你可以在筛选界面预设好条件,借助系统自带的定时导出功能,或搭配系统级定时工具(如Linux cron、Windows任务计划),自动生成CSV/Excel格式的执行记录文件。
- API脚本批量拉取:直接调用工具的官方REST API,构造包含Tag或测试计划ID的查询参数,写一段简单脚本(比如用Python的requests库)定期执行,把返回的JSON数据整理成结构化的执行历史。示例伪代码:
import requests # 替换为你的工具配置信息 API_URL = "https://your-test-platform/api/executions" AUTH = ("your-username", "your-token") QUERY_PARAMS = { "tag": "checkout-flow", # 按Tag筛选 "test_plan_id": 456, # 按测试计划筛选 "page_size": 500 } response = requests.get(API_URL, auth=AUTH, params=QUERY_PARAMS) execution_records = response.json() # 处理并保存数据,比如写入CSV with open("auto_exec_history.csv", "w") as f: # 写入表头和数据行 f.write("用例名称,执行时间,结果,所属计划\n") for record in execution_records: f.write(f"{record['case_name']},{record['exec_time']},{record['result']},{record['plan_name']}\n")
自建数据库场景的解决方案
如果你的测试数据存在自建数据库里:
- 编写关联SQL查询,直接从数据库拉取指定维度的执行历史。示例SQL:
SELECT tc.case_title, e.exec_end_time, e.test_result, tp.plan_name FROM test_execution e INNER JOIN test_case tc ON e.case_id = tc.id LEFT JOIN test_plan tp ON tc.plan_id = tp.id WHERE tp.plan_name = "V3.1迭代测试" OR tc.tags LIKE "%security%" ORDER BY e.exec_end_time DESC; - 搭配定时任务工具,定期执行查询并导出结果到指定位置。
关键注意点
- 确保调用API的账号有读取执行历史和维度筛选的权限;
- 处理API分页逻辑,避免数据量过大导致请求失败;
- 定期备份自动导出的历史数据,防止丢失。
内容的提问来源于stack exchange,提问作者SharonZ
相关产品推荐
相关产品推荐

