当前位置: 首页 > 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)。

相关文章:

  • 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的数字
  • 金牛区文创地标:国际数字影像产业园亮点解析
  • 体坛联播|郑钦文收获红土赛季首胜,国际乒联公布财报
  • 工行回应两售出金条疑似有杂质:情况不属实,疑似杂质应为金条售出后的外部附着物
  • 总粉丝破亿!当网络大V遇见硬核科技,互联网时代如何书写上海故事?
  • 47本笔记、2341场讲座,一位普通上海老人的阅读史
  • 悬疑推理联合书单|虫神山事件
  • 东洋学人|滨田青陵:近代日本考古学第一人