KarateException 路径中缺少 属性 - JSON
KarateException Missing Property in path - JSON
我试图从响应中匹配特定变量并尝试如下。但是我收到错误提示 KarateException Missing Property in path $['Odata']
。我的问题是:我们如何修改才能避免出现此错误?
特征:
And match response.@odata.context.a.b contains '<b>'
示例:
|b|
|b1 |
|b2 |
响应是
{
"@odata.context": "$metadata#Accounts",
"a": [
{
"c": 145729,
"b": "b1",
"d": "ON",
},
{
"c": 145729,
"b": "b2",
"d": "ON",
}
]
}
我认为您对 JSON 的结构感到困惑。另请注意,当 JSON 键具有特殊字符时,您需要更改在路径表达式中使用它们的方式。您可以尝试将以下内容粘贴到新场景中并查看它是否有效:
* def response =
"""
{
"@odata.context": "$metadata#Accounts",
"a": [
{
"c": 145729,
"b": "b1",
"d": "ON",
},
{
"c": 145729,
"b": "b2",
"d": "ON",
}
]
}
"""
* match response['@odata.context'] == '$metadata#Accounts'
* match response.a[0].b == 'b1'
* match response.a[1].b == 'b2'
我试图从响应中匹配特定变量并尝试如下。但是我收到错误提示 KarateException Missing Property in path $['Odata']
。我的问题是:我们如何修改才能避免出现此错误?
特征:
And match response.@odata.context.a.b contains '<b>'
示例:
|b|
|b1 |
|b2 |
响应是
{
"@odata.context": "$metadata#Accounts",
"a": [
{
"c": 145729,
"b": "b1",
"d": "ON",
},
{
"c": 145729,
"b": "b2",
"d": "ON",
}
]
}
我认为您对 JSON 的结构感到困惑。另请注意,当 JSON 键具有特殊字符时,您需要更改在路径表达式中使用它们的方式。您可以尝试将以下内容粘贴到新场景中并查看它是否有效:
* def response =
"""
{
"@odata.context": "$metadata#Accounts",
"a": [
{
"c": 145729,
"b": "b1",
"d": "ON",
},
{
"c": 145729,
"b": "b2",
"d": "ON",
}
]
}
"""
* match response['@odata.context'] == '$metadata#Accounts'
* match response.a[0].b == 'b1'
* match response.a[1].b == 'b2'