如何在JMeter的POST请求中发送CSV文件或JSON数据?
基于JMeter的负载测试操作步骤
1. 配置CSV数据文件读取元件
用于读取PLAN.CSV中存储的测试文件路径,核心配置如下:
- 文件名选择你本地存储的
PLAN.CSV绝对路径,避免读取失败 - 变量名称设置为
file_path(可自定义,后续调用保持一致即可) - 分隔符按照
PLAN.CSV实际的分隔规则填写,默认用英文逗号 - 循环设置:「遇到文件结束符时再次循环」选
False,避免重复用同一个文件测试 - 共享模式选「当前线程组」,确保每个模拟用户拿到不同的文件路径
2. 配置Register接口HTTP请求
- 协议、IP、端口、接口路径按你实际的接口信息填写,请求方法选
POST - 切换到「文件上传」标签页,按以下规则配置:
- 文件路径填
${file_path},直接调用CSV元件读取到的路径变量 - 参数名称填接口约定的文件上传参数名
- MIME类型:如果仅上传JSON文件填
application/json,仅上传CSV填text/csv,如果两种格式都有可以在PLAN.CSV中新增一列存储MIME类型,直接调用对应变量即可
- 文件路径填
3. 配置负载模拟规则
在线程组中设置施压参数:
- 线程数:对应你要模拟的并发用户数量
- 循环次数:如果要遍历完所有
PLAN.CSV中的测试文件,填和文件行数一致的数值即可 - Ramp-Up时间:按你需要的加压速度设置,比如10个线程填10,就是每秒启动1个用户
4. 结果校验与测试报告配置
- 新增响应断言,匹配接口正常返回的特征值(比如返回码、success标识等),验证每个文件上传请求是否成功
- 调试阶段添加「察看结果树」监听器,确认单用户请求正常、不同用户读取到不同的文件路径
- 正式负载测试阶段添加「聚合报告」「吞吐量趋势图」等监听器,统计接口性能指标
注意事项
- 所有测试用的JSON/CSV文件要保证JMeter进程有读取权限,优先用绝对路径存储
- 如果上传文件的参数有额外的表单字段要求,可以在HTTP请求的「参数」标签页补充配置
- 先以单线程2次循环做调试,确认请求逻辑正常后再调高并发量做正式测试
内容的提问来源于stack exchange,提问作者Rashmi kullarni
相关产品推荐
相关产品推荐

