JSON断言可以对服务器返回的JSON文档进行验证。
JSON断言有两种使用模式:
1.根据JSONPath能否在JSON文档中找到路径;
2.根据JSONPath提取值并对值进行验证。
结果判定:若文档格式为非JSON则断言失败;找不到路径断言失败;提取值与预期值不一致断言失败。
一、添加断言方式
根据需要可在【测试计划】、【线程组】、【线程请求】下添加断言,一般在对应的【线程请求】下添加,如下图所示,即本文所介绍的。
添加路径:【线程请求-点击右键-添加-断言-JSON断言】
二、Json断言
2.1.实例
如果响应数据返回是Json格式,我们可以对其进行json断言操作,在请求的察看结构树响应数据里提取数值对其进行断言,示例提取响应数据中的msg字段值进行断言
2.1.1.接口响应结果
2.1.2.json断言设置如下
2.2.json断言配置项详解
2.2.1.名称
断言的名称,根据需要按自己的命名规范填写即可
2.2.2.注释
断言的注释,根据需要按自己的规范填写即可
2.2.3.Assert JSON Path exists:
用于断言的JSON元素的路径(JSONPath)及字段值
2.2.4.Additionally assert value
是否额外验证:根据JSONPath提取的值是否正确
a. 不勾选。则:验证JSONPath能否在JSON文档中匹配到路径
b. 勾选。则:验证根据JSONPath提取值是否符合预期
2.2.5.Match as regular expression
预期值是否可以使用正则表达式
a. 不勾选。预期值:不能使用正则表达式表示
b. 勾选。预期值:可以使用正则表达式表示
2.2.6.Expected Value:
填写提取字段的预期值
2.2.7.Expect null
若验证提取的值为null,则勾选此项
这里有两个地方需要额外注意:
a. 验证null值,还是需要勾选“Additionally assert value”,否则验证的是JSONPath能否匹配到路径
b. 预期值不填表示空字符,与null不等价
2.2.8.Invert assertion(will fail if above conditions met)
若勾选,表示对断言结果取反
2.2.9.注意:
除了null外,还有一种特殊的值,就是空数组,预期值不能不填,需要设置为:[],表示空数组。
三、断言结果查看
3.1.【断言结果】组件
添加路径:【测试计划-点击右键-添加-监听器-断言结果】
整个测试计划下所有请求的所有断言结果报错信息均会在此显示,如下图所示,将所有断言结果的报错信息直接展示出来。
3.2.【察看结果树】组件
添加路径:【测试计划-点击右键-添加-监听器-查看结果树】,整个测试计划下所有请求的所有断言结果报错信息均会在此显示,如下图的形式,切换查看。
版权归原作者 沫沫18S 所有, 如有侵权,请联系我们删除。