JMeter笔记:响应断言/Json断言/BeanShell断言
Jmeter中支持很多种格式的断言,下面举例记录下几种常用断言的用法。
本次测试接口的期望返回参数如下:
{ "code":"53012463", "success":false, "message":"测试成功", "data":null }
一、响应断言
响应断言模式匹配规则:
- 包括(Contains):如果响应中包含了指定的字符串,判断为成功,支持正则表达式匹配
- 匹配(Matches):如果响应完全匹配指定的字符串,判断为成功,支持正则表达式相等
- 相等(Equals):如果响应完全匹配指定的字符串,判断为成功,不支持正则表达式子字符串
- 字符串(Substring):如果响应中包含了指定的字符串,判断为成功,不支持正则表达式
响应断言的匹配规则都比较简单,下面图片中的例子是用的“字符串匹配”。
二、Json断言
下图中的例子只勾选了Additionally assert value,意思是$.code的值与我填入的值一致才能断言通过。如果要使用正则断言的话需要勾选Match as regular expression。这个地方设置断言的时候需要注意下。
json路径表达式 $.code 代表json中的code字段值, $.code取出来的值是“53012463”
JsonPath详细用法:https://github.com/json-path/JsonPath
三、BeanShell断言
下面的简单例子是直接在beanshell面板上写脚本来判断的,判断接口响应数据中是否包含我们期望的code值。
BeanShell脚本定义了下列变量:
Read/Write: Failure, FailureMessage, SampleResult, vars, props, log.
ReadOnly: Response[Data|Code|Message|Headers], RequestHeaders, SampleLabel, SamplerData, ctx
以上三种断言方法基本可以满足平时工作需要了,以后用到其他的断言方式再补充~