如何在Gatling中用JsonPath验证数组长度?断言失败求助
Gatling JSON数组计数断言失败的问题解决
你的问题出在JSONPath的表达式上:
jsonPath("$")定位的是整个响应的根节点,而你的响应根节点就是那个包含10个对象的数组本身,所以.count统计的是根节点的数量(结果为1),而不是数组内元素的个数。
解决方法很简单,把JSONPath表达式改成$[*],这个表达式会匹配数组里的所有元素,这样.count就能正确统计数组的元素数量了。
修改后的check代码部分如下:
.check( status.is(200), jsonPath("$[*]").count.gt(2) )
如果你的响应是嵌套结构(比如根节点是对象,数组在某个字段下),则需要调整JSONPath到对应数组字段的元素,比如响应是{"addresses": [{},{}]},就用$.addresses[*]来定位。但你的情况根节点就是数组,$[*]完全适用。
内容的提问来源于stack exchange,提问作者João Pedro Schmitt
相关产品推荐
相关产品推荐

