如何通过Atlassian Python API获取Jira Xray测试运行状态
使用Atlassian Python API获取Jira Xray的测试运行及整体执行状态
一、关于xray.get_test_run_status参数的说明
你看到的示例中数字100是Xray内部的测试运行ID,而非测试用例或测试执行的Key。要通过testExecIssueKey=EXC-2&testIssueKey=TC-3这类信息获取状态,需要先拿到对应的测试运行ID,再调用该方法。
二、获取单个测试运行(TC-3在EXC-2中的执行)的状态
可以先获取指定测试执行下的所有测试运行记录,筛选出目标测试用例对应的条目,提取ID后查询状态:
# 获取测试执行EXC-2下的所有测试运行记录 test_exec_runs = xray.get_test_execution_tests("EXC-2") # 筛选出测试用例TC-3对应的测试运行 target_run = next(run for run in test_exec_runs if run["testKey"] == "TC-3") test_run_id = target_run["id"] # 查询该测试运行的状态 run_status = xray.get_test_run_status(test_run_id) print(f"TC-3在EXC-2中的执行状态: {run_status}")
三、获取测试执行(EXC-2)的整体执行状态
方法1:直接获取整体状态
使用get_test_execution_status方法,参数直接传入测试执行Key:
exec_status = xray.get_test_execution_status("EXC-2") print(f"测试执行EXC-2的整体状态: {exec_status}")
方法2:获取详细执行统计
如果需要通过/失败/跳过等细分数据,可以调用get_test_execution获取完整详情后提取统计信息:
exec_details = xray.get_test_execution("EXC-2") status_summary = exec_details["statusSummary"] print(f"EXC-2执行统计: 通过{status_summary['pass']} | 失败{status_summary['fail']} | 跳过{status_summary['skip']}")
四、获取测试计划(PLAN-1)的整体执行状态
方法1:直接获取整体状态
使用get_test_plan_status方法,参数传入测试计划Key:
plan_status = xray.get_test_plan_status("PLAN-1") print(f"测试计划PLAN-1的整体状态: {plan_status}")
方法2:汇总关联测试执行的统计
如果需要更细致的汇总数据,可以先获取测试计划关联的所有测试执行,再逐个统计后合并:
# 获取测试计划PLAN-1关联的所有测试执行Key plan_execs = xray.get_test_plan_test_executions("PLAN-1") # 初始化统计变量 total_pass = 0 total_fail = 0 total_skip = 0 # 遍历所有关联测试执行,累加统计数据 for exec_key in plan_execs: exec_details = xray.get_test_execution(exec_key) summary = exec_details["statusSummary"] total_pass += summary["pass"] total_fail += summary["fail"] total_skip += summary["skip"] print(f"PLAN-1总执行统计: 通过{total_pass} | 失败{total_fail} | 跳过{total_skip}")
内容的提问来源于stack exchange,提问作者Oliver T.
相关产品推荐
相关产品推荐

