【问题标题】:how to validate array response includes values from another array in Karate如何验证数组响应包括来自空手道中另一个数组的值
【发布时间】:2020-10-14 02:32:47
【问题描述】:

我有一个数组

[{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"}]

我想验证另一个数组

[{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"},{"Id": "1236"},{"Id": "1237"},{"Id": "1238"},{"Id": "1239"}]

写了这段代码:

* def a= [{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"}]
* def b= [{"Id": "123"},{"Id": "1239"},{"Id": "1233"},{"Id": "1235"},{"Id": "1236"},{"Id": "1237"},{"Id": "1238"},{"Id": "1239"}]
* match b[*].Id contains a[*].Id

我收到以下错误

javascript evaluation failed: b[*].Id, <eval>:1:12 Expected an operand but found *
a[*].Id
  ^ in <eval> at line number 1 at column number 12*          

请问有什么解决办法吗?

【问题讨论】:

  • JSON 是一个字符串。你有数组

标签: karate


【解决方案1】:

JsonPath 仅在 match 的左侧受支持。阅读文档:https://github.com/intuit/karate#jsonpath-short-cuts

请添加一个步骤:

* def expected = $a[*].Id
* match b[*].Id contains expected

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多