Karate 如何在空手道中找到动态关键值?
我正在点击JiraAPI,根据循环名称获取循环id API:http://localhost:8080/rest/zapi/latest/cycle?projectId=78654&versionId=123 我得到以下回应:Karate 如何在空手道中找到动态关键值?,karate,Karate,我正在点击JiraAPI,根据循环名称获取循环id API:http://localhost:8080/rest/zapi/latest/cycle?projectId=78654&versionId=123 我得到以下回应: { "1345": { "totalExecutions": 0, "endDate": "", "description": "&qu
{
"1345": {
"totalExecutions": 0,
"endDate": "",
"description": "",
"versionName": "Unscheduled",
"projectKey": "ABC",
"totalDefects": 0,
"versionId": 123,
"name": "First cycle",
"totalFolders": 0,
"projectId": 78654
},
"5789": {
"totalExecutions": 0,
"endDate": "",
"description": "",
"versionName": "Unscheduled",
"projectKey": "ABC",
"totalDefects": 0,
"versionId": 123,
"name": "Karate DEMO",
"totalFolders": 0,
"projectId": 78654
},
"6543": {
"totalExecutions": 0,
"endDate": "",
"description": "",
"versionName": "Unscheduled",
"projectKey": "ABC",
"totalDefects": 0,
"versionId": 123,
"name": "Second Cycle",
"totalFolders": 0,
"projectId": 78654
},
"recordsCount": 3
}
这里的Id是动态的,即134557896543
如何使用空手道jsonpath获取Id,即5789,其中名称为“空手道演示”使用JSON转换来更改形状,从而更容易执行jsonpath。您还可以找到数据,因为
karate.forEach()
是一个“扫描”:
* def list = []
* def fun = function(k, v){ karate.appendTo('list', { key: k, val: v } )}
* karate.forEach(response, fun)
* def keys = $list[?(@.val.name=='Karate DEMO')].key