性能测试全栈笔记:8.Jmeter接口响应断言
性能测试全栈笔记
八、Jmeter接口响应断言
断言相当于功能测试里的预期结果,通过断言的方式去判断响应是否与预期相符
常用响应断言分为四种:包括、匹配、相等、字符串
其中,包括、匹配支持正则表达式,相等、字符串不支持正则表达式
举例:
- 协议:HTTP
- IP:192.168.25.152
- 端口:8080
接口名称 | 接口方式 | 路径 | 入参(参数) |
普通的GET类型接口 | get | /pinter/com/getSku?id=1 | id=1 |
先看一下单接口运行状态,需要用到察看结果数:
假设,要判断”skuId”:1,”skuName”断言?
添加响应断言,路径:请求右键->添加->响应断言:
选择包括,添加:”skuId”:1,”skuName”
察看结果数:
结果是正确的
包括支持正则表达式,我们尝试用正则表达式去做,即”skuId”:(.+?),”skuName”:
再次察看结果数:
结果正确,也可以用”skuId”:.+,”skuName”表示,其中.+为第二个万能正则表达式,比第一种还万能,大家只需记忆第二种即可。包括介绍完毕,下面介绍字符串:
填写响应断言,勾选字符串规则,填写:”code”:”0″
察看结果数正确:
修改断言,让断言出错:”code”:”0″改为:”code”:”1″
察看结果数:
断言失败了,失败信息:不能接受”code”:”1″的结果,白话:我们设定的是”code”:”1″,但是响应结果里没有(结果里是”code”:”0″),故断言失败,断言对于后期脚本编写是很重要的,特别是响应断言、JSON断言
总结一下响应断言里包括、匹配、相等、字符串的含义:
- 包括(Contains):如果响应中包含了指定的字符串,判断为成功,支持正则表达式
- 匹配(Matches):如果响应完全匹配指定的字符串,判断为成功,支持正则表达式
- 相等(Equals):如果响应完全匹配指定的字符串,判断为成功,不支持正则表达式
- 字符串(Substring):如果响应中包含了指定的字符串,判断为成功,不支持正则表达式
下一章介绍JSON断言,同样也是重点。