根据不同的判断需求,jmeter支持多种断言, jmeter最常用的断言是响应断言(Response Assertion),对各种类型的返回结果进行判断。
本例通过在查询业务的查询请求中,添加响应断言,通过返回结果判断,是否成功查询到预期的结果。
1. 确定预期值
先确定返回结果中有哪些值,作为判断是否成功的依据,本例中,查询请求返回结果中有查询的服务号码,即判断为成功查询到结果,如下:

在对应的http请求中添加断言

测试字段:
预期值在返回结果中的位置,如在响应包体中查找是否包含判断的预期值,根据实际需求,还可以选择返回码、返回包头、请求包头等
模式匹配规则:
设置在返回结果中匹配预期值的模式,如下:
Contain:
包含,返回结果中包含设置的预期值,支持正则表达式匹配
Matches:
匹配,返回结果完全匹配预期值,支持正则表达式,若是正则表达式,则正则表达式需完全匹配返回结果
Equals:
相等,返回结果和预期值完全相等(区分大小写),不支持正则表达式
Substring:
字符串,返回结果包含预期值(区分大小写),不支持正则表达式
Not:
对断言结果取反,如若断言结果为true,选中not,最终结果为false
Or:
针对添加多个测试模式,对添加的多测试模式取”或”
测试模式:
用来添加预期值,若添加多个预期值列表,则每个模式都是单独测试的,如果一个模式失败,则不检查其他模式。使用多个模式设置一个断言与使用每个模式设置多个断言之间没有区别(假设其他选项相同)
自定义失败消息:
断言失败,则输出自定义失败的消息

设置好断言,运行脚本,在View Results Tree中查看结果
没有断言失败提示,请求达到预期值

故意设置断言失败,运行脚本,断言提示失败,如下:

注意
期望值在返回内容中有换行,在添加测试模式时,需要用回车换行符代替
返回内容中的期望值:
<div class="bc_field_body">
13911111111</div>在断言中添加期望值:
class="bc_field_body">\r\n(\d{11})</div>

更多精彩干货分享
点击下方名片关注
IT那活儿





