性能测试全栈笔记:9.Jmeter接口JSON断言

作者: admin 分类: 性能专题 发布时间: 2021-12-21 23:25

性能测试全栈笔记

九、Jmeter接口JSON断言

JSON断言主要学习:判断具体值、正则、空值(null)判断、数组形式断言

举例:

  • 协议:HTTP
  • IP:192.168.25.152
  • 端口:8080
接口名称接口方式路径入参(参数)
普通的GET类型接口get/pinter/com/getSku?id=1id=1
参数为json的POST接口post/pinter/com/register{“userName”:”test”,”password”:”1234″,”gender”:1,”phoneNum”:”110″,”email”:”beihe@163.com”,”address”:”Beijing”}
返回json数组的GET接口get/pinter/com/userListgenderType=0

没有添加断言的情况下,运行一遍脚本:

响应文本:

{"code":"0","message":"success","data":{"skuId":1,"skuName":"ptest-1","price":"255","stock":772,"brand":"testfan"}}

使用JSON在线解析及格式化验证工具,查看下钻方式:

{
    "code":"0",
    "message":"success",
    "data":{
        "skuId":1,
        "skuName":"ptest-1",
        "price":"255",
        "stock":772,
        "brand":"testfan"
    }
}

添加断言:

1.判断具体值

Additionally assert value:勾选,判断值功能生效

运行脚本,察看结果数正确:

2.使用正则判断

注意点:

$.data.brand:判断brand的值

Match as regular expression:勾选,正则生效

Expected Value:接受的值,填写正则形式,使用万能正则.+

察看结果数,正确:

3.判断null值

先运行一下单脚本接口(因为是JSON入参,记得添加HTTP信息头管理器:Content-Type: application/json;charset=UTF-8):

察看结果数,看一下没有断言的结果:

添加断言,$data

Expect null:勾选,判断null值生效

注意:Expect null下面那个是非空判断

4.数组形式断言

先运行一下单个脚本

假设,需对age进行断言,添加断言:

$.data[1].age:JSON断言路径,数组[1]代表第二个数值,因为数组是从[0]开始的,这里不唠这个

Expected Value:[0-9]+,[0-9]:0-9之间任意取值,+表示适配0或1次,取到就ok

察看结果数,正确:

JSON数组断言介绍完毕,下一节介绍BeanShell断言。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复