tencent cloud

云压测

产品概述
购买指南
计费概述
按量计费(后付费)
购买方式
欠费说明
退费说明
快速入门
操作指南
简单模式压测
脚本模式压测
JMeter 模式压测
管理项目
管理场景
流量录制
环境管理
定时压测
压测报告
访问控制
告警管理
标签管理
错误代码手册
实践教程
使用 Prometheus 观测性能压测指标
使用云压测回放 GoReplay 录制的请求
API 文档
History
Introduction
API Category
Making API Requests
PTS-related APIs
Data Types
Error Codes
JavaScript API 列表
JavaScript API 列表概述
pts/global
pts/http
pts
pts/dataset
pts/grpc
pts/jsonpath
pts/protobuf
pts/redis
pts/sql
pts/url
pts/util
pts/ws
pts/socketio
pts/socket
常见问题
相关协议
服务等级协议
使用限制
隐私政策
数据处理和安全协议

JMeter 使用 CSV 参数文件

PDF
聚焦模式
字号
最后更新时间: 2025-03-26 18:09:19
在使用 JMeter 做压力测试的时候,我们可以使用 JMeter CSV Data Set Config 元件来实现参数化,每次请求发送不同的测试数据,模拟更真实的用户场景。
用户可通过 CSV 文件提前构造压测数据。JMeter 线程组循环时每次从 CSV 文件中读取一行作为测试数据,每次请求使用不同的测试用例。

使用 JMeter 配置参数文件

假设需要模拟给不同用户发送邮件的场景,我们提前准备好一份 CSV 格式文件,第一行作为表头,表示参数名。其他行作为测试数据。
在这个文件中我们定义了2个参数:name、email。我们可以在 JMeter 请求中通过${name}, ${email} 引用参数。
name, email
lyli,lyli@test.com
lucky,lucky@test.com
lucas,lucas@test.com
如果 CSV 文件中首行不包含参数名,则需要在 CSV Data Set Config 中额外设置参数名。
1. 右键单击测试计划,选择 Add > Threads(Users) > Thread Group。

2. 右键单击 Thread Group,选择 Add > Config Element > CSV 数据文件设置。

3. 配置 CSV Data Set Config. 在我们的案例中,导入 CSV 文件,其他的保留默认配置即可。此时默认以首行(name, email)作为参数名,我们可以在请求中引用 name、email 变量。

注意:
如果您的 CSV 文件首行不包含参数名,则需要设置参数名,配置如下:


在请求中引用 CSV Data Set Config 设置的参数

1. 右键单击 Thread Group,选择 Add > Sampler > HTTP Request

2. 配置 HTTP Sampler,发送 POST 请求。在 body 中使用${name}, ${email}引用 CSV 中配置的参数。

3. 右键单击 Thread Group,选择 Add > Listener > View Result Tree。通过 View Result Tree 我们可以查看每次请求发送和返回的数据,来确认以上配置的 CSV Data Set Config 是否生效。

4. 运行线程组,查看 View Result Tree 中请求发送的数据。我们可以看到一共发送了两个请求,每个请求 request Body 都不一样。
第一个请求:

第二个请求:


在 PTS 中使用 CSV 参数文件

2. 在左侧菜单栏中单击云压测 > 测试场景,再单击新建场景
3. 在创建测试场景页面选择“JMeter”压测类型,并单击开始,创建压测场景。

4. 上传刚配置的 Jmx 文件和 CSV 文件。

说明:
PTS 在运行压测时,会自动识别 Jmx 中配置的 CSV 文件路径,并替换成用户上传的同名文件。
例如:假设 Jmx 中配置的 CSV 文件路径为/Users/ke/Desktop/student.csv,在 PTS 中只需上传student.csv文件即可。PTS 在运行时会自动帮您识别同名文件,无需您更改 Jmx 中引用的文件路径。
5. CSV 文件切分:PTS 会根据用户配置的并发数,自动启动多个压测引擎,以集群化模式运行 JMeter 压测脚本。如果您希望每个引擎执行单独的测试用例,则需要用到 CSV 文件切分功能。
5.1 假设用户上传的 CSV 文件为:
name,email
lyli,lyli@test.com
lucky,lucky@test.com
lucas,lucas@test.com
5.2 勾选切分文件选项

如果用户配置的并发数较大,需要调度2个引擎执行该压测任务,则 CSV 测试数据会在2个引擎间均分。
引擎1获取的 CSV 文件为:
name,email
lyli,lyli@test.com
lucky,lucky@test.com
引擎2获取的 CSV 文件为:
name,email
lucas,lucas@test.com
6. 单击保存并运行,即可开始压测。



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈