当前位置: 首页 > news >正文

jmeter通过json提取器获取接口返回token(超详细)

一、接口添加后置处理器——JSON提取器

二、登录接口添加监听器——查看结果树

三、运行登录接口,查看结果数返回的json,是否有token值

四、填写JSON提取器的数据

1、Name of created variables:提取的变量名称,用于存储提取到的值

2、JSON Path Expressions:用于提取 JSON 数据的路径表达式

3、Match Numbers:指定提取第几个匹配的值,当 JSONPath 表达式匹配到多个值时,选择提取哪个值。

  • 0:提取所有匹配的值(返回数组)。(默认值)

  • 1:提取第一个匹配的值。

  • 2:提取第二个匹配的值,以此类推。

4、Default Value:当提取失败时返回的默认值。

五、通过查看结果数检查“JSON Path Expressions”是否提取正确:

六、下一个接口需要 传入登录获取的token

添加一个HTTP信息头管理,传入获取的token, ${变量名称}

七、示例

假设服务器返回以下 JSON 响应:获取id

{
  "data": {
    "id": 12345,
    "name": "John Doe",
    "roles": ["admin", "user"]
  },
  "status": "success"
}

配置 JSON 提取器:

  • 名称(Name of created variables):userId
  • JSON Path Expressions:$.data.id
  • Match Numbers:1
  • Default Value:NOT_FOUND

提取结果:

  • 提取到的变量:userId
  • 变量值:12345

——————————————————————————————————————————

常见 JSONPath 表达式示例

  1. 提取单个字段

    • JSONPath:$.data.name

    • 结果:"John Doe"

  2. 提取数组中的所有值

    • JSONPath:$.data.roles[*]

    • 结果:["admin", "user"]

  3. 提取数组中的第一个值

    • JSONPath:$.data.roles[0]

    • 结果:"admin"

  4. 提取不存在的字段

    • JSONPath:$.data.age

    • 结果:返回默认值(如 NOT_FOUND)。

http://www.dtcms.com/a/92425.html

相关文章:

  • 3.1.2 内存池
  • Java.util包之Java.util.List接口
  • 【msyql】LInux安装Mysql
  • kubernetes高级应用之初始化容器
  • 第 6 章 | 区块链预言机操控与闪电贷攻击全解析
  • 数据结构之队列的链式结构-初始化-判断队列是否为空-入队-出队-获取队头元素
  • 八目导航 version:1.2
  • Linux 中进程的 nice 值对程序的占用的影响测试
  • 边缘计算 vs. 云计算,谁才是工业物联网的未来?
  • Matlab Hessian矩阵计算(LoG算子)
  • Django 生成 ssl 安全证书,切换 https、wss协议(daphne 、nginx)
  • C++之哈希
  • kubectl 命令参数详解与示例
  • 数据库DBA认证,选哪个认证合适?
  • Git撤回操作全场景指南:未推送与已推送,保留和不保留修改的差异处理
  • 解决PHP内存溢出问题的讨论和分析
  • 通过git文件查看大模型下载链接的解决方案
  • 【Qt】Ubuntu22.04使用命令安装Qt5和Qt6
  • Day23:和为s的数字
  • 金牛区文创地标:国际数字影像产业园亮点解析
  • Android Kotlin 权限工具类封装:简化动态权限管理
  • 三维空间中点、线、面的关系
  • 【Elasticsearch】开启大数据分析的探索与预处理之旅
  • dynamic_cast的理解
  • 使用OpenGL实现双线性插值和双三次插值C++实现
  • 【C++】类和对象(二)默认成员函数之拷贝构造函数、运算符重载
  • IPShocks:行星际激波数据库
  • 机器学习——Bagging、随机森林
  • leetcode day31 453+435
  • 代理服务器中的代理服务器与SSL协议有什么关系?