Microfocus ALM REST API:获取指定路径下测试集的问题
解决ALM REST API获取指定路径测试集返回0条的问题
看起来你在ALM REST API的查询语法上踩了坑——我之前也碰到过类似的情况,ALM的查询规则比想象中要严格一点。
首先,你之前的查询缺少了关键的匹配操作符和值的引号包裹,正确的请求URL应该是这样的:
http://ipaddr:8080/qcbin/rest/domains/a/projects/b/test-sets?query={test-set-folder.hierarchical-path[EQ "Root\CoreProjects\Salency"]}
这里有几个需要注意的点:
- ALM的REST查询格式要求是
{字段名[操作符 "值"]},你之前的写法没有指定EQ(等于)操作符,也没给路径值加引号,这会导致API无法正确解析你的查询条件。 - 路径里的反斜杠可能需要转义:有些环境下,URL中的反斜杠需要写成双反斜杠
\\,如果上面的URL返回还是0条,可以试试把路径改成"Root\\CoreProjects\\Salency"。 - 检查路径的大小写:ALM的层级路径通常是大小写敏感的,确认
Root\CoreProjects\Salency的拼写、大小写和ALM系统里的完全一致,哪怕一个字母大小写错了都可能查不到结果。
如果还是不行,给你一个更稳妥的办法:
- 先获取目标测试集文件夹的ID:
请求这个URL拿到对应文件夹的信息:
从返回结果里找到http://ipaddr:8080/qcbin/rest/domains/a/projects/b/test-set-folders?query={hierarchical-path[EQ "Root\CoreProjects\Salency"]}id字段的值(比如1234)。 - 用文件夹ID查询测试集:
再请求这个URL,用文件夹ID来过滤,这样更精准:http://ipaddr:8080/qcbin/rest/domains/a/projects/b/test-sets?query={test-set-folder-id[EQ 1234]}
这个方法绕开了路径匹配的可能问题,用ID匹配绝对不会出错。
内容的提问来源于stack exchange,提问作者Swatcat
相关产品推荐
相关产品推荐

