我有一个请求,它以两种可能的方式返回响应节点(itemCanBe)值,具体取决于'itemNum'。我如何断言这一点?下面的尝试不起作用
* match res..itemCanBe == null || res..itemCanBe[*] contains ['Colgate']
ItemCan不能返回null
{
"itemDetails": {
"1234": {
"itemNum": "1234",
"itemCanBe": null
}
}
}
返回数组
{
"itemDetails": {
"4567": {
"itemNum": "4567",
"itemCanBe": [
"Colgate",
"Sensodine"
]
}
}
}
这实际上会起作用:
* def temp = get[0] response..itemCanBe
* match temp == '##[]'
另请参阅:https://stackoverflow.com/a/50350442/143475
有关详细信息,请参阅此线程:https://github.com/intuit/karate/issues/1202#issuecomment-653632397这应该足以解决您的问题。
在空手道中有什么方法可以检查如果任何值作为空字符串出现,那么响应中的其他键不应该出现- 例如,如果您看到下面的示例json响应,其中一个为空,并且在同一节点上预览不存在 所以,空手道中任何直接的解决方案都可以检查是否有描述。文本为“,则预览不应出现在该节点上
在下面的json有效负载中,我如何通过空手道断言D节点不在响应中。
(免责声明:当人们通过Facebook、Firebase等请求使用异步操作时,会问到数据为空/不正确的问题。我提出这个问题的目的是为每个开始在android中进行异步操作的人提供一个简单的答案) 我试图从我的一个操作中获取数据,当我使用断点或日志调试它时,值就在那里,但当我运行它时,它们总是空的,我如何解决这个问题? 火基 脸谱网 静态编程语言协程 等等。
我有以下两个响应,我需要检查(元素的顺序不同)。尝试了不同的事情,但没有任何结果。任何帮助都将不胜感激!
(免责声明:人们通过facebook、firebase等请求询问使用异步操作时数据为空/不正确时,会产生很多问题。我提出这个问题的目的是为每个从android异步操作开始的人提供一个简单的答案。) 我试图从我的一个操作中获取数据,当我使用断点或日志调试它时,值就在那里,但当我运行它时,它们总是空的,我该如何解决这个问题呢? 火力基地 脸书 等。
根据JSON规范,表示null值的正确方法是文字。 预期结果: 实际结果: