一、学习总览
天数 | 主题 | 核心产出 |
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 传给后续接口(关联)
详细学习步骤(照做即可)
- 用户自定义变量:右键线程组 → Add → Config Element → User Defined Variables,加 host=httpbin.org、username=test01,脚本里用 ${host}、${username} 引用
- 准备 users.csv:第一行表头 username,password,下面三行数据 test01,123456 / test02,abcdef / test03,xyz789,用 UTF-8 保存
- CSV Data Set Config:右键线程组 → Add → Config Element → CSV Data Set Config,文件名填 users.csv(绝对路径)、文件编码 UTF-8、变量名称 username,password、分隔符 ,、忽略首行 True
图 1 CSV Data Set Config:多用户数据驱动
- 在线程组把线程数设为 CSV 行数(3),每个线程读一行,实现三用户并发登录
- 正则提取器:右键「登录采样器」→ Add → Post Processors → Regular Expression Extractor,引用名称 token、正则 \{"token": "(.+?)"\}、模板 $1$、匹配数字 1、默认值 NOT_FOUND
图 2 正则表达式提取器:提取 token
- JSON 提取器:右键「登录采样器」→ Add → Post Processors → JSON Extractor,引用名称 token、JSON Path $.token,更直观
图 3 JSON Extractor:用 JSON Path 提取字段
- 关联使用:在后续请求的 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提取器就别用正则,好懂好维护。