定义一个变量来设置一个数组的长度是失败的,但断言和打印工作

时间:2017-09-13 15:56:50

标签: karate

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

com.jayway.jsonpath.PathNotFoundException:预计会找到一个对象   路径$ ['球队'] [0] [' teamMembers']中的财产['长度']但是   发现' net.minidev.json.JSONArray'。
  这不是json对象   根据JsonProvider:   ' com.jayway.jsonpath.spi.json.JsonSmartJsonProvider'

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

是的,空手道采用Json-Path作为右手边(90%的情况都适用)。使用括号可在需要时强制进行JavaScript评估。

试试这个:

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

有关详细说明,请参阅文档中的此部分:Karate Expressions