在Karate框架中是否有if功能?

问题描述 投票:1回答:1

以下是示例代码

"xNotification": [
      {
        "code": "1234",
        "text": "Invalid Data"
        "yNotification": [
          {
            "code": "345",
            "text": "Invalid Data"
          }
        ]
      }
   ]
 }

yNotification数组只有在响应中有时会退出,当它存在时,我需要捕获代码值并把它放在一个变量中。我不想断言只是当它存在时我需要把它放在一个变量中。我是任何测试框架的新手。我很感激任何关于这个问题的帮助。先谢谢你。

karate gherkin
1个回答
0
投票

请阅读这部分文档。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
© www.soinside.com 2019 - 2024. All rights reserved.