空手道:在使用 json 过滤器路径时,路径 $['data'] 中缺少 属性
Karate: I get missing property in path $['data'] while using json filter path
我已经阅读了空手道文档和有关堆栈溢出的问题。 resp.response.data下有2个json数组。我正在尝试从 resp.response.data[1] 中检索并断言 json 中的“bId”: 81,但在检索 id 值 81 时出现此缺失 属性 错误。你能帮忙吗如果我遗漏了什么?
* def resp =
"""
{
"response": {
"data": [
{
"aDetails": {
"aId": 15,
"aName": "Test",
"dtype": 2
},
"values": [
{
"bId": 45,
"value": "red"
}
],
"mandatory": false,
"ballId": "1231231414"
},
{
"aDetails": {
"aId": 25,
"aName": "Description",
"dtype": 2
},
"values": [
{
"bId": 46,
"value": "automation"
},
{
"bId": 44,
"value": "NESTED ARRAY"
},
{
"bId": 57,
"value": "sfERjuD"
},
{
"bId": 78,
"value": "zgSyPdg"
},
{
"bId": 79,
"value": "NESTED ARRAY"
},
{
"bId": 80,
"value": "NESTED ARRAY"
},
{
"bId": 81,
"value": "NESTED ARRAY"
}
],
"mandatory": true,
"ballId": "1231231414"
}
],
"corId": "wasdf-242-efkn"
}
}
"""
* def expectedbID=81
* def RespValueId = karate.jsonPath(resp, "$.data[1][?(@.bId == '" + expectedbID + "')]")
* match RespValueId[0] == expectedbID
也许你把事情搞得太复杂了?
* match resp.response.data[1].values contains { bId: 81, value: 'NESTED ARRAY' }
我已经阅读了空手道文档和有关堆栈溢出的问题。 resp.response.data下有2个json数组。我正在尝试从 resp.response.data[1] 中检索并断言 json 中的“bId”: 81,但在检索 id 值 81 时出现此缺失 属性 错误。你能帮忙吗如果我遗漏了什么?
* def resp =
"""
{
"response": {
"data": [
{
"aDetails": {
"aId": 15,
"aName": "Test",
"dtype": 2
},
"values": [
{
"bId": 45,
"value": "red"
}
],
"mandatory": false,
"ballId": "1231231414"
},
{
"aDetails": {
"aId": 25,
"aName": "Description",
"dtype": 2
},
"values": [
{
"bId": 46,
"value": "automation"
},
{
"bId": 44,
"value": "NESTED ARRAY"
},
{
"bId": 57,
"value": "sfERjuD"
},
{
"bId": 78,
"value": "zgSyPdg"
},
{
"bId": 79,
"value": "NESTED ARRAY"
},
{
"bId": 80,
"value": "NESTED ARRAY"
},
{
"bId": 81,
"value": "NESTED ARRAY"
}
],
"mandatory": true,
"ballId": "1231231414"
}
],
"corId": "wasdf-242-efkn"
}
}
"""
* def expectedbID=81
* def RespValueId = karate.jsonPath(resp, "$.data[1][?(@.bId == '" + expectedbID + "')]")
* match RespValueId[0] == expectedbID
也许你把事情搞得太复杂了?
* match resp.response.data[1].values contains { bId: 81, value: 'NESTED ARRAY' }