【JMeter 学习打卡 Day 4】多用户登录 + 动态 token 关联

一、学习总览

|-----------|-------------------|--------------------------|
| 天数 | 主题 | 核心产出 |
| Day 1 | JMeter 入门与基础概念 | 弄清 JMeter 是什么、能干什么、不能干什么 |
| Day 2 | 第一个测试计划 + HTTP 请求 | 能独立搭出一个最小可运行的 HTTP 测试计划 |
| Day 3 | 断言:让测试结果有意义 | 理解为什么没有断言,错误率永远是 0 |
| Day 4 | 参数化与关联(重点中的重点) | 会用用户变量和 CSV 数据驱动做多用户数据 |
| Day 5 | 逻辑控制器与定时器 | 用逻辑控制器组织业务流程 |
| Day 6 | 压力测试、HTML 报告与命令行 | 搞懂并发、Ramp-Up 与各测试类型的区别 |
| Day 7 | 进阶技巧、最佳实践与综合实战 | 会用 Cookie Manager 保持登录态 |

二、每日详细计划

今日目标

  • 会用用户变量和 CSV 数据驱动做多用户数据
  • 掌握正则提取器和 JSON 提取器
  • 能提取登录 token 传给后续接口(关联)

详细学习步骤(照做即可)

  1. 用户自定义变量:右键线程组 → Add → Config Element → User Defined Variables,加 host=httpbin.org、username=test01,脚本里用 {host}、{username} 引用
  2. 准备 users.csv:第一行表头 username,password,下面三行数据 test01,123456 / test02,abcdef / test03,xyz789,用 UTF-8 保存
  3. CSV Data Set Config:右键线程组 → Add → Config Element → CSV Data Set Config,文件名填 users.csv(绝对路径)、文件编码 UTF-8、变量名称 username,password、分隔符 ,、忽略首行 True

图 1 CSV Data Set Config:多用户数据驱动

  1. 在线程组把线程数设为 CSV 行数(3),每个线程读一行,实现三用户并发登录
  2. 正则提取器:右键「登录采样器」→ Add → Post Processors → Regular Expression Extractor,引用名称 token、正则 \{"token": "(.+?)"\}、模板 1、匹配数字 1、默认值 NOT_FOUND

图 2 正则表达式提取器:提取 token

  1. JSON 提取器:右键「登录采样器」→ Add → Post Processors → JSON Extractor,引用名称 token、JSON Path $.token,更直观

图 3 JSON Extractor:用 JSON Path 提取字段

  1. 关联使用:在后续请求的 HTTP Header Manager 里加 Authorization: Bearer ${token},token 就从登录响应动态取到了

图 4 HTTP Cookie Manager:自动携带 Cookie 保持登录态(token 关联的补充方案)

动手练习

  • 创建 users.csv 并用 CSV Data Set Config 驱动 3 个线程访问 /get,每个请求的参数不同
  • 在 /get 响应里提取 url 字段:正则提取器和 JSON 提取器各实现一遍,两种方法对比
  • 模拟真实链路:登录接口提取 token → 订单接口带 Authorization 请求,跑通关联

)

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 压测要贴近真实,参数化 + 关联是 JMeter 核心中的核心。多用户数据:CSV 文件一行一个用户,CSV Data Set Config 喂给脚本,线程数 = 数据行数。关联:登录返回的 token 怎么给下一个接口用?正则提取器(. +? 非贪婪匹配)或 JSON 提取器(.token)把值存进变量,后续请求 Header 里写 Authorization: Bearer {token}。一句话总结:提取上一个请求的值,塞进下一个请求。#JMeter #接口测试 #软件测试 |

小贴士: 正则里的 (.+?) 是非贪婪匹配,模板 1 取第一个括号的内容;能用 JSON 提取器就别用正则,好懂好维护。

相关推荐
m0_646429973 小时前
BCrypt 与 JWT 认证流程学习笔记
笔记·学习
apple_692658853 小时前
QX 效率启动器安装包:开源生产力工具,快捷键统一入口Raycast免费开源平替版来啦
学习·开源·办公
一直C3 小时前
嵌入式 Linux 驱动开发学习笔记:中断、等待队列与工作队列
linux·驱动开发·嵌入式硬件·学习·imx6ull
我命由我123453 小时前
5-2.Python 编码进阶 - 字符串进阶(拼接、普通格式化、普通格式化数字精度控制、快速格式化、遍历、常用方法)
java·开发语言·后端·python·学习·java-ee·学习方法
撩得Android一次心动13 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
dadaobusi15 小时前
学习:灵犀指令集
学习
xhyu6116 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
卿卿的产品经理日记18 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
keyipatience18 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
lazy H19 小时前
【计算机网络】第 2 篇:一条数据如何穿过网络?彻底理解数据封装与解封装
网络·经验分享·后端·学习·计算机网络