【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 提取器就别用正则,好懂好维护。

相关推荐
Code额2 小时前
Python asyncio 异步编程全套学习文档(零基础完整版)
python·学习·oracle·async·异步·asyncio
wuhuhuan2 小时前
jmeter高级用法-ForEach控制器和BeanShell断言
jmeter
在线考试系统推荐3 小时前
2026年7月最新实测:三大考试软件导入试题能力对比
人工智能·学习·系统架构
小弥儿3 小时前
GitHub今日热榜 | 2026-08-20:Agent 上下文数据库接棒
数据库·学习·开源·github
sunoo-2293 小时前
【C 语言标准 IO 入门】第二天学习笔记:文件操作核心函数 + 实战案例 + 踩坑合集
linux·笔记·vscode·学习
MartinYeung53 小时前
[论文学习]MPMA:针对模型上下文协议的偏好操纵攻击
人工智能·学习·安全
-To be number.wan5 小时前
我的创作纪念日
学习
爱吃火鸡面呀5 小时前
NumPy 从入门到精通:一份完整的高质量学习路线与实践指南
学习·numpy
for_ever_love__5 小时前
SQL学习: SQL入门与DDL
数据库·sql·学习