如果节点包含来自 json 响应的预期值,如何检查空手道
How to check in karate if a node contains the expected value from the json response
场景是我得到以下 JSON 响应,例如:
[
{
"a": "a",
"b": "a",
"c": "a",
}
{
"a": "ab",
"b": "ab",
"c": "ab",
}
]
现在我想检查响应是否包含 "b" 节点中的 "ab"。
在空手道中,我不知道该怎么做。
给定路径'url'
当方法得到
然后状态200
并匹配响应 == ??
我建议你仔细阅读文档,空手道在这方面有很大的灵活性。以下是一些示例,您可以将它们粘贴到您的 *.feature
文件中,并亲自查看这些示例:
* def response =
"""
[
{
"a": "a",
"b": "a",
"c": "a",
},
{
"a": "ab",
"b": "ab",
"c": "ab",
}
]
"""
* match response[1] contains { b: 'ab' }
* match response contains { a: 'ab', b: 'ab', c: 'ab' }
* match response contains { a: '#ignore', b: 'ab', c: '#notnull' }
* def expected = { b: 'ab' }
* match response contains '#(^expected)'
场景是我得到以下 JSON 响应,例如:
[
{
"a": "a",
"b": "a",
"c": "a",
}
{
"a": "ab",
"b": "ab",
"c": "ab",
}
]
现在我想检查响应是否包含 "b" 节点中的 "ab"。 在空手道中,我不知道该怎么做。
给定路径'url' 当方法得到 然后状态200 并匹配响应 == ??
我建议你仔细阅读文档,空手道在这方面有很大的灵活性。以下是一些示例,您可以将它们粘贴到您的 *.feature
文件中,并亲自查看这些示例:
* def response =
"""
[
{
"a": "a",
"b": "a",
"c": "a",
},
{
"a": "ab",
"b": "ab",
"c": "ab",
}
]
"""
* match response[1] contains { b: 'ab' }
* match response contains { a: 'ab', b: 'ab', c: 'ab' }
* match response contains { a: '#ignore', b: 'ab', c: '#notnull' }
* def expected = { b: 'ab' }
* match response contains '#(^expected)'