如何通过XRay Cloud GraphQL API获取测试计划下超100条测试数据
解决方案
XRay Cloud GraphQL API 下tests字段的分页采用偏移量+数量的参数组合,和你尝试的游标分页逻辑不同:
- 分页使用
start参数指定返回结果的起始偏移量(默认值为0) - 分页判断不需要查
pageInfo,直接取tests字段下的total值获取该测试计划下总用例数即可
第一步:构造支持分页的查询语句
你可以直接使用如下查询模板,同时拉取总用例数、当前页结果:
getTestPlan(issueId:"${test_plan.id}"){ issueId tests(limit: 100, start: ${offset}) { total # 总测试用例数,用于判断是否需要继续翻页 results { issueId jira(fields: ["key"]) } } } }
第二步:循环拉取所有用例
调用逻辑如下:
- 首次请求时
offset设为0,拿到第一页100条结果和总用例数total - 如果
total > 100,第二次请求将offset设为100,即可拿到第101-200条结果 - 重复调整
offset值(每次+100),直到某次请求返回的results长度小于100,或者offset + 100 >= total时停止循环
对应你130条用例的场景,只需要发两次请求:第一次offset=0拿前100条,第二次offset=100拿剩下30条即可。
内容的提问来源于stack exchange,提问作者ggonmar
相关产品推荐
相关产品推荐

