在 JMeter 中使用 CSV 表格数据实现多组不同入参的接口测试,核心是通过 CSV Data Set Config 元件读取外部文件并赋值给变量。
一、 CSV 文件准备与存放位置
1. 文件格式规范
-
编码 :必须保存为 UTF-8 编码(Mac 下推荐使用 VS Code 或 Sublime Text 保存,避免使用自带"文本编辑"导致隐藏 BOM 头或换行符问题)。
-
内容结构 第一行通常为变量名(表头),后续每行为一组测试数据。字段间用英文逗号
,分隔。username,password,expect_code admin,123456,200 test_user,654321,200 guest,,401
2. 文件存放位置(关键)
为了避免路径错误和权限问题,建议采用以下两种策略之一:
- 策略 A(推荐):相对路径法
将.jmx脚本文件和.csv数据文件放在同一个文件夹 内。- 在 JMeter 配置中,文件名只需填写
data.csv。 - 优点:无论你把整个文件夹移动到 Mac 的哪个位置,脚本都能正常运行,方便团队协作。
- 在 JMeter 配置中,文件名只需填写
- 策略 B:固定目录法
在项目根目录下建立专门的数据文件夹,例如~/jmeter_projects/api_test/data/。- 在 JMeter 配置中,文件名填写相对路径,如
./data/data.csv。 - 注意 :Mac 文件系统(APFS)默认区分大小写,确保代码中引用的文件名与实际文件完全一致(包括大小写),否则报错
FileNotFoundException。
- 在 JMeter 配置中,文件名填写相对路径,如
二、 JMeter 核心配置步骤
1. 添加 CSV 数据文件设置
右键点击 线程组 (Thread Group)。
选择 添加 (Add) -> 配置元件 (Config Element) -> CSV 数据文件设置 (CSV Data Set Config)。
2. 参数详细配置
在配置面板中填写以下关键项
##### 参考事例:
##### 3. 在 HTTP 请求中引用变量
- 在线程组下添加 HTTP 请求。
- 在 Parameters (参数)或 Body Data (消息体数据)中,使用
${变量名}的格式引用。- 例如:用户名参数值填
${username} - 密码参数值填
${password}
- 例如:用户名参数值填
- JMeter 会在运行时自动将 CSV 中的具体值替换到这些变量位置。
总结流程图
- 准备数据:Excel 整理 -> 另存为 UTF-8 CSV -> 终端清洗换行符。
- 放置文件 :放入与
.jmx脚本同级目录。 - 配置元件:添加 CSV Data Set Config -> 填路径、UTF-8、变量名、忽略首行。
- 引用变量 :HTTP 请求中用
${var}替换硬编码数据。 - 运行测试:通过查看结果树验证参数替换是否成功。
