Jmeter常用的断言主要有,JSON断言和响应断言这两种方式。 断言主要就是帮助帮助人工进行快速接口信息验证避免繁杂的重复的人工去验证数据

第一种响应断言Apply to:表示应用范围测试字段:针对响应数据进行不同的匹配响应文本响应代码响应信息响应头请求头URL样本文本忽略状态请求数据

模式匹配规则生成断言结果

第二种JSON断言

下面我们就来添加断言

第一种响应断言

添加一个线程组、再添加一个HTTP请求

本次测试数据来自航空时刻表的接口需要可以自行使用 航空城市

通过断言就可以判断事务是否匹配成功,以及是否响应成功,如果是不成功就是回报红色错误,出现红色错误就代表失败,这样我们就能够去通过csv去批量验证接口是否能够正常的使用。

响应断言的名称和注释,这两个都可以随意写

Apply to:表示应用范围

Main sample and sub-samples 表示匹配范围包括父取样器及子取样器 Main sample only 仅匹配父取样器 Sub-samples only 仅匹配子取样器

测试字段:针对响应数据进行不同的匹配

需要根据察看结果树里面有的信息进行相应的断言才能够成功响应

响应文本

响应服务器返回的文本内容

响应代码

匹配响应的状态码,比如100、200、300、400、500这些

响应信息

匹配响应信息,如果匹配成功就返回成功、或者通过这些

响应头

匹配响应头中的头信息

常用的响应头如下:

Accept-Patch 指定服务器所支持的文档补丁格式 Accept-Ranges 服务器所支持的内容范围 Content-Disposition 对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。 Content-Encoding 响应资源所使用的编码类型。 Content-Language 响就内容所使用的语言 Content-Length 响应消息体的长度,用8进制字节表示 Content-Type 当前内容的MIME类型 Date 此条消息被发送时的日期和时间(以RFC 7231中定义的"HTTP日期"格式来表示) Expires 指定一个日期/时间,超过该时间则认为此回应已经过期 Server 服务器的名称

请求头

匹配请求中的头信息 服务器要使用的附加信息,比较重要的信息有 Cookie 、Referer、User-Agent Accept ​​​​​​​Accept-Language ​​​​​​​Accept-Encoding ​​​​​​​Host ​​​​​​​Cookie ​​​​​​​Referer ​​​​​​​User-Agent ​​​​​​​Content-Type

URL样本

匹配URL链接

文本

对文档内容进行匹配

忽略状态

表示一个请求中拥有多个响应,第一个响应成功就进行下一个判定,最后一个判定成功则表示通过

请求数据

匹配请求数据的信息

具体含义可参考这篇文章: 请求头和响应头

模式匹配规则

包括:相应内容匹配成功就代表响应成功,支持正则表达式

匹配:与响应内容完全匹配则代表成功,支持正则表达式

相等:与响应内容相等才代表成功,支持字符串不支持正则

字符串:字符串与相应内容匹配,支持字符串

否:降低匹配敏感度,只要其中有一个即可表示匹配成功

或者:存在多个内容,只要一种一个成功即表示通过

生成断言结果

第二种JSON断言

JSON断言可以针对返回值为JSON格式进行一个判断 像这种数据类型就是JSON格式

Assert Json path exists提取断言内容这里就用简单的正则提取即可,也可以用正则提取之后加一个全局变量赋予给json断言中也可以使用 Match as regular expression勾选后表示支持正则表达式 Expected Value断言内容 Except null断言内容为空 Invert assertion(wiil fail if above condition met)断言内容取反,如果结果为真就显示假,假就显示为真

比如我针对外层的拿code就用$.code这里提取即可, 如果我要获取data中的数据,可以 $.data.

如果察看结果树出现中文乱码可以看这篇文章: Jmeter运行后,查看结果树中的响应数据出现中文乱码

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。