1
  • def count = * print response.teams[0].teamMembers.length抛出以下错误

com.jayway.jsonpath.PathNotFoundException:应在路径 $['teams'][0]['teamMembers'] 中找到具有属性 ['length'] 的对象,但找到了 'net.minidev.json.JSONArray'。
根据 JsonProvider:'com.jayway.jsonpath.spi.json.JsonSmartJsonProvider',这不是一个 json 对象。

  • print response.teams[0].teamMembers.length
  • assert response.teams[0].teamMembers.length == 9
    工作得很好。

非常感谢这里的任何帮助。

4

1 回答 1

2

是的,空手道假定右侧为 Json-Path(这对于 90% 的情况都适用)。需要时使用括号强制执行 JavaScript 评估。

试试这个:

def count = (response.teams[0].teamMembers.length)

详细解释请参考文档中的这一部分:Karate Expressions

于 2017-09-13T17:01:19.073 回答