如何从Test Rail项目提取测试用例的两类自动化状态计数?
从Test Rail项目提取自定义状态字段计数的方法
这不属于Test Rail的功能限制,你可以通过以下两种可行方法提取「Automation creation status」和「Automation Required status」的计数:
方法一:内置筛选与手动统计/导出统计
- 进入目标项目的测试用例库页面
- 点击页面顶部的「筛选」按钮,在筛选面板中找到这两个自定义字段,选择要统计的具体状态值(比如“已完成”“待创建”等)
- 应用筛选后,页面顶部会直接显示符合条件的用例总数,手动记录该数值;重复切换不同状态值,即可完成所有状态的计数统计
- 如果需要批量处理,可点击「导出」按钮将筛选后的用例导出为CSV文件,再用Excel的透视表功能批量统计各状态的数量
方法二:Test Rail API自动化统计
适合需要批量处理或自动化统计的场景,步骤如下:
- 先通过
GET index.php?/api/v2/get_cases/{project_id}接口获取目标项目下所有测试用例的列表 - 遍历每个用例ID,调用
GET index.php?/api/v2/get_case/{case_id}接口获取包含自定义字段的用例详情 - 从返回的JSON数据中提取两个自定义字段的状态值(字段键为自定义字段的「系统名称」,可在Test Rail「管理→自定义字段」页面查看),统计各状态的出现次数
示例Python代码片段:
import requests TESTRAIL_BASE_URL = "你的Test Rail实例地址" AUTH = ("你的账号邮箱", "你的API密钥") PROJECT_ID = 你的项目ID # 初始化会话 session = requests.Session() session.auth = AUTH session.headers["Content-Type"] = "application/json" # 获取所有测试用例(支持分页,此处示例为基础版) cases_res = session.get(f"{TESTRAIL_BASE_URL}/index.php?/api/v2/get_cases/{PROJECT_ID}") cases = cases_res.json() # 初始化计数器 creation_status_count = {} required_status_count = {} # 遍历统计 for case in cases: # 替换为你的自定义字段系统名称 creation_status = case.get("custom_automation_creation_status") required_status = case.get("custom_automation_required_status") if creation_status: creation_status_count[creation_status] = creation_status_count.get(creation_status, 0) + 1 if required_status: required_status_count[required_status] = required_status_count.get(required_status, 0) + 1 print("Automation creation status 计数:", creation_status_count) print("Automation Required status 计数:", required_status_count)
注意事项
- 如果项目用例数量较多,调用API时需添加
offset和limit参数做分页处理,避免请求超时 - 自定义字段的「系统名称」是API返回数据中的键名,不要直接使用字段的显示名称
内容的提问来源于stack exchange,提问作者hemanth kumar
相关产品推荐
相关产品推荐

