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

相关推荐
tiankongdeyige7 小时前
游戏战斗系统学习第2篇:有限状态机 (FSM)
学习·游戏·typescript
an123212110 小时前
ARM嵌入式学习笔记:SPI通信协议详解
arm开发·笔记·学习
by2099910 小时前
从结构体到对象:正式学习C++类的骨架、封装与this指针
c++·经验分享·学习
乌暮10 小时前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
小雪崩11 小时前
嵌入式学习 day60:ARM汇编——触摸屏与SPI
汇编·arm开发·学习
问天_观心12 小时前
大模型训练与推理优化(二)
人工智能·深度学习·学习·大模型·transformer
海海不掉头发13 小时前
软件项目管理学习笔记-从软件危机到敏捷与DevOps
笔记·学习·devops
传奇开心果编程14 小时前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
幼儿园蛋小黄14 小时前
SPI 多点触摸屏学习嵌入式总结
学习
dadaobusi14 小时前
学习:顶点着色器输出后,三角形为什么是四个分量
学习