Jmeter中配置token全局变量与实现接口之间实现参数传递

Jmeter中配置token全局变量与实现接口之间实现参数传递

前言:在使用jmeter做接口测试时,会经常遇到两个问题**:1)配置全局token,业务接口需要在登录后才能操作;2)不同接口之间的参数传递,通常完成一个业务功能需要调用多个接口,并且接口参数是相互关联的。**这里主要分享下上述两种操作如何在jmeter中使用和实现

一、配置变量token全局变量

通常情况下,用户在成功登录后,会在登录接口中会返回token,返回的token信息会放在后续业务接口的请求头中,用来验证用户是否已登录

如下图:调用登录接口后返回token
在这里插入图片描述

step1:在登录接口下添加Json提取器(也可以用正则表达式提取器)

在这里插入图片描述
说明:
(1)变量名称一般与接口响应字段保存一致(看个人习惯)
(2)json提取表达式为$.result.token,根据响应体的json层级进行填写,以下是接口返回的嵌套层级结构,供参考

{
    "message": "success",
    "result": {
        "needChangePassword": false,
        "expires": 3600000,
        "firstLogin": false,
        "userId": "1199596756811550720",
        "token": "7d24ff6bb87b3e246ad1fa73a0d87c2b"
    },
    "status": 200,
    "timestamp": 1723790358551
}
step2:添加BeanShell 后置处理程序,设置全局变量

在这里插入图片描述
说明:
全局变量函数: ${__setProperty(全局变量名,变量值,)}; 其中${token}为之前在json提取器中提取的token值;accessToken为全局变量名,后续在请求头中会进行引用

step3:在接口请求头中有引用token全局变量

在这里插入图片描述
说明:
引用全局变量: ${__property(全局变量)}; accessToken为全局变量名,此处就能引用到step2中通过json提取器提取的token值

最后在查看结果树中,可以看到请求头中引用的token,如下图:
在这里插入图片描述

二、接口之间实现参数传递

实现过程与上面设置全局token基本一致
接口场景逻辑:需要先调用图片上传接口,然后提取返回信息中的图片url,之后url会作为新建设备接口的一个参数进行传入,从而实现新建设备时完成设备图片的上传

如下图,调用上传文件接口后返回了图片访问url
在这里插入图片描述

step1:在接口下添加Json提取器,提取接口返回值
在这里插入图片描述

step2:在接口请求参数中引入变量

在这里插入图片描述
说明:
(2)json提取表达式为$.result.token,根据响应体的json层级进行填写,以下是接口返回的嵌套层级结构,供参考

{
    "message": "success",
    "result": {
        "id": "UZFZ6XjA_Afh1xW1OgAMkzzRhhq71tyq",
        "name": "p1.png",
        "extension": "png",
        "length": 1072968,
        "md5": "ebfb464b5f10e738ce742876e46cd349",
        "sha256": "a13e54947f8b0e9acdb262082a0875f6a31bb67f3a309e8640e9f8afb9ffc196",
        "createTime": 1723790358837,
        "creatorId": "1199596756811550720",
        "options": [

        ],
        "others": {
            "accessKey": "566d4420227764a8089deb68a8f634c2"
        },
        "accessUrl": "http://192.168.32.159:5173/api/file/UZFZ6XjA_Afh1xW1OgAMkzzRhhq71tyq.png?accessKey=566d4420227764a8089deb68a8f634c2"
    },
    "status": 200,
    "timestamp": 1723790358870
}

结束!!!

今天分享到这儿,存在不足的地方还请大家多多指教!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值