大神级教程:Jmeter轻松实现N种断言

       在调试脚本的时候,人工可以很快知道该接口有没有回放真正的成功了,但是在每天定时跑所有的线上接口的时候,没有加上断言,就算出现了失败的情况,比如服务器响应出错(网络超时,服务挂了),甚至是开发人员偷偷摸摸发了版本,接口有bug,这个时候要让Jmeter来帮助我们验证测试结果的正确性,就需要通过Jmeter的断言组件来实现此功能了。

断言组件是通过获取服务器响应数据,根据断言规则去匹配这些响应数据,比如先填入一个预期值,再和接口返回的实际值做对比,如果匹配到了,接口就是正常的,如果匹配不到,接口就出现了异常,此时Jmeter会判断这个事务失败了,下面会从介绍如下几种断言方式。

响应断言

参数说明:

名称:可以随意设置,能够代表业务意义

注释:可以随意设置,可以为空

Apply to:

Main sample and sub-samples:匹配范围为当前父取样器,及子取样器

   Main sample only :仅当前父取样器

   Sub samples only:仅子取样器

   JMeter Variable:变量值进行匹配

测试字段:需要验证的响应部分。

        响应文本:从服务器返回的响应文本。不包括 HTTP Header

        响应代码:http协议返回的响应码。比如 200.

        响应消息:Response Message:匹配响应信息。比如处理成功返回”成功“字样

模式匹配规则:

        包括:上面选中的部分包含下面的正则表达式就算Pass

        匹配:上面选中的整个部分匹配下面的正则表达式就算Pass

        相等:上面选中的整个部分和下面的字符串相等就算Pass,不支持正则表达式,同时对大小写敏感

        字符串:上面选中的部分包含下面的字符串就算Pass,不支持正则表达式,同时对大小写敏感

        否:勾选上之后,会对前面选择的进行取反。比如"msg":"成功调用" 就是不匹配就算Pass

运行脚本,查看结果:

没有报错,就是成功的

失败的示例:比如要断言的内容在响应结果中没有,会出现红色的提示信息,并且提示找不到该断言内容

Bean shell断言

根据http协议返回的状态码和响应返回的code,一起结合判断接口是否成功

JSON断言

Assert JSON path exists(断言JSON路径存在)

JSON路径可以在查看结果树的接口返回响应数据里面提取

如下图:

1、选择JSON Path Tester

2、输入".msg"

3、点击Test,出现”成功调用“,就可以了

Additionally assert value(断言值)

不勾选:表示不判断json路径获取的值,并且“Expected Value”不能编辑。只要json路径存在即断言成功,反之断言失败

勾选:表示需要判断json路径获取的值,“Expected Value”可编辑。json路径获取的值匹配即断言成功,反之断言失败

Match as regular expression(匹配为正则表达式)

Expected Value(期望值)

此处填入期望值。如果json路径获取出来的结果包含期望值则成功,反之断言失败

Expect null(期望空值)

不勾选:以已填入的条件进行判断

勾选:json路径获取的结果是空值则成功,反之断言失败

Invert assertion (will fail if above conditions met)(反向断言,如果满足上述条件将失败)

反向断言,将上面的判断否决

不勾选:即json路径获取的结果是空值则断言成功,反之失败

勾选:即json路径获取的结果是空值则断言失败,反之成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值