You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Xray Cloud REST API获取测试执行中各测试用例状态?

可以通过Xray Cloud REST API实现该需求

完全可以借助Xray Cloud REST API获取已导入测试用例的状态并导出为文件,具体步骤如下:

1. 获取目标测试执行的ID

导入JUnit XML文件后,Xray会自动生成对应的**测试执行(Test Execution)**记录。你可以从Jira界面的测试执行页面URL中提取ID,比如https://your-domain.atlassian.net/browse/TEST-456里的TEST-456就是该测试执行的ID。

2. 调用Xray API获取测试用例状态

使用Xray Cloud的GET /rest/raven/2.0/api/testexec/{testExecId}/tests端点,可获取该测试执行下所有测试用例的详细信息,包括执行状态。

身份验证要求

请求需要带上Jira Cloud的身份凭证:用你的账号邮箱和API token组成Base64编码字符串,放在请求头的Authorization字段中,格式为Basic <base64编码的邮箱:API token>。

示例curl请求

curl --request GET \
  --url 'https://your-domain.atlassian.net/rest/raven/2.0/api/testexec/TEST-456/tests' \
  --header 'Authorization: Basic dXNlci1lbWFpbEBleGFtcGxlLmNvbTpwaXBlLWtleS1mb3ItYXBp' \
  --header 'Accept: application/json'

3. 处理数据并导出文件

API返回的JSON数据中,每个测试用例条目包含key(测试用例ID)、summary(测试用例名称)、status.name(执行状态,如PASSED/FAILED/SKIPPED)等关键字段。你可以用脚本(Python、JavaScript等)自动化提取这些数据并导出为CSV、JSON等格式的文件。

Python示例脚本

import requests
import csv

# 配置参数
jira_domain = "your-domain.atlassian.net"
test_exec_id = "TEST-456"
email = "your-email@example.com"
api_token = "your-api-token-here"

# 发送API请求
auth = (email, api_token)
api_url = f"https://{jira_domain}/rest/raven/2.0/api/testexec/{test_exec_id}/tests"
response = requests.get(api_url, auth=auth)
response.raise_for_status()
test_cases = response.json()

# 导出为CSV文件
with open('test_case_status_report.csv', 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.writer(csv_file)
    # 写入表头
    writer.writerow(["测试用例ID", "测试用例名称", "执行状态"])
    # 写入每条测试用例数据
    for case in test_cases:
        writer.writerow([case['key'], case['summary'], case['status']['name']])

运行脚本后,会在当前目录生成test_case_status_report.csv文件,包含所有导入测试用例的状态信息。

内容的提问来源于stack exchange,提问作者Roberto Teresa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:50:13