如何在空手道中找到动态关键值? [英] How to find dynamic key values in Karate?

查看:9
本文介绍了如何在空手道中找到动态关键值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在点击JIRA API来获取基于周期名称的周期ID

接口名:http://localhost:8080/rest/zapi/latest/cycle?projectId=78654&;versionId=123

我收到以下响应:

{

"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是动态的,即1345、5789、6543

如何使用空手道jsonpath获取ID,即5789,其中名称是空手道演示(&q;)

json

使用推荐答案转换更改形状,这样可以更轻松地执行JsonPath。您还可以查找数据,因为karate.forEach()是扫描(&Q;):https://github.com/intuit/karate#json-transforms

* 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

这篇关于如何在空手道中找到动态关键值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆