以下是示例代码
"xNotification": [
{
"code": "1234",
"text": "Invalid Data"
"yNotification": [
{
"code": "345",
"text": "Invalid Data"
}
]
}
]
}
yNotification数组只有在响应中有时会退出,当它存在时,我需要捕获代码值并把它放在一个变量中。我不想断言只是当它存在时我需要把它放在一个变量中。我是任何测试框架的新手。我很感激任何关于这个问题的帮助。先谢谢你。
请阅读这部分文档。https:/github.comintuitkarate#conditional-logic。
例:。
* def expected = zone == 'zone1' ? { foo: '#string' } : { bar: '#number' }
* match response == expected
EDIT: 这是你问题的完整解决方案。
* def response =
"""
{ "xNotification": [
{
"code": "1234",
"text": "Invalid Data",
"yNotification": [
{
"code": "345",
"text": "Invalid Data"
}
]
}
]
}
"""
* def code = karate.get('$.xNotification[0].yNotification[0].code')
* print code