使用jmeter做接口压测的时候,如何能保证接口的每次返回结果都是我们预期的呢?这就需要添加检查点,也就是添加断言。
添加断言就是为了检查返回的结果与我们的预期是一致的,不用去一个个检查结果。
场景案例
我现在有一个登录接口,接口登录接口文档基本信息
- 访问地址:http://127.0.0.1:8000/api/v1/login/
- 请求类型:POST
- 请求头部:Content-Type: application/json
- 请求参数:{"username":"test", "password":"123456"}
接口返回
{
"code": 0,
"msg": "login success!",
"token": "234af73571da46ade79ea6a74961b1d23d609b79",
"username": "test"
}
jmeter脚本
先写登陆的接口信息
查看返回结果
针对这个返回结果,可以添加检查点的地方有很多,比如状态码 200
,返回数据类型的Content-Type: application/json
。
也可以对json的内容加检查点,code 值为0
,msg 内容为login success!
,token不为空等
状态码
添加响应断言,检查状态码是200
添加断言,响应头包含200
也可以自定义失败消息,测试失败的时候,会提示失败的消息
断言成功的时候,是不会有提示的,我们看下断言失败时候,不是200情况。响应的状态码是404的时候
查看响应断言,可以看到失败的具体原因
断言返回的格式
如果我们想断言返回的是不是json格式,可以通过添加检查点,判断头部包含 Content-Type: application/json
一个响应断言里面可以添加多个检查点
断言json内容
一般登陆成功返回的 code 为0 和 msg 内容都是固定的,登陆失败的时候code不为0。
很多人喜欢去断言这个token值,它是动态的,所以这里不用去纠结token是否存在,我们断言code和msg也是一样的。
上面的响应断言是断言头部返回内容,现在需要断言返回的文本内容,所以再加一个响应断言