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

如何用Qase.io API获取包含子套件的所有测试套件?

Qase.io API无法获取子测试套件的解决方案

默认情况下,Qase.io的/v1/suite/{PROJECTID}接口仅返回顶级测试套件(即parent_id为null的套件),这就是为什么你看到total统计了33个套件,但entities里只有11个父套件的原因。

要获取包含子套件在内的所有测试套件,只需在请求URL中添加all=true查询参数:

import requests
import json

url = "https://api.qase.io/v1/suite/PROJECTID?all=true"  # 追加all=true参数

headers = {
    "accept": "application/json",
    "Token": "API_KEY_HERE"
}

response = requests.get(url, headers=headers)

print(json.dumps(json.loads(response.text), indent=4))

执行修改后的请求后,entities列表会包含所有层级的套件,其中子套件的parent_id字段会对应其父套件的ID。

另外注意:Qase API默认分页每页返回10条数据,你的total是33,意味着需要多页才能获取全部套件。如果需要一次性拿到所有数据,可以通过循环分页请求来实现:

import requests
import json

# 替换为你的项目ID和API密钥
PROJECT_ID = "YOUR_PROJECT_ID"
API_KEY = "YOUR_API_KEY"

base_url = f"https://api.qase.io/v1/suite/{PROJECT_ID}"
headers = {"accept": "application/json", "Token": API_KEY}

all_suites = []
current_page = 1

while True:
    params = {"all": "true", "page": current_page}
    response = requests.get(base_url, headers=headers, params=params)
    response_data = response.json()
    
    # 将当前页的套件加入总列表
    all_suites.extend(response_data["result"]["entities"])
    
    # 判断是否还有下一页
    total_pages = (response_data["result"]["total"] + response_data["result"]["count"] - 1) // response_data["result"]["count"]
    if current_page >= total_pages:
        break
    
    current_page += 1

print(f"共获取到 {len(all_suites)} 个测试套件")
print(json.dumps(all_suites, indent=4))

内容的提问来源于stack exchange,提问作者Zoe A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:33:41