You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV文件直接包含在JMeter的.jmx测试计划文件中?

可靠的CSV数据嵌入JMeter测试计划方案

如果你想把CSV数据直接包含在.jmx文件中,无需依赖外部文件,以下是两种最可靠的实现方式:

方法1:使用JSR223数据集(推荐)

这种方式无需创建临时文件,直接在元件内嵌入CSV数据,完全集成在.jmx中:

  • 移除现有的「CSV数据集配置」元件
  • 添加「JSR223数据集」配置元件
  • 在「脚本」框中粘贴你的CSV内容并处理行数据,示例代码:
// 嵌入CSV内容,注意保留表头和行格式
def csvData = """
username,password
user1,pass1
user2,pass2
admin,admin123
""".split("\\n").findAll { it.trim() != "" }

// 每次调用返回下一行数据
return csvData.get(currentLine, null)
  • 在「变量名称」栏填写与原CSV对应的变量名(如username,password)
  • 设置「分隔符」为你的CSV使用的分隔符(通常是逗号,)
  • 根据需求配置「EOF时循环」和「EOF时停止线程」选项,和原CSV数据集配置保持一致

方法2:通过JSR223预处理器生成临时CSV文件

如果偏好继续使用原有的「CSV数据集配置」,可以将CSV内容嵌入后生成临时文件供其读取:

  • 在测试计划根节点添加「JSR223预处理器」
  • 在脚本中写入CSV内容并生成临时文件,示例代码:
// 嵌入CSV数据
def csvContent = """
productId,quantity
1001,2
1002,5
1003,1
"""
// 创建临时文件,JMeter退出时自动删除
def tempFile = File.createTempFile("test_data", ".csv")
tempFile.deleteOnExit()
tempFile.text = csvContent

// 将临时文件路径存入变量,供CSV数据集调用
vars.put("temp_csv_path", tempFile.absolutePath)
  • 修改原「CSV数据集配置」的「文件名」为${temp_csv_path}
  • 保持其他CSV配置(变量名、分隔符等)不变

为什么不推荐放在bin文件夹

将CSV放在JMeter的bin文件夹仅在特定环境下有效:不同用户的JMeter安装路径可能不同,且如果对方从非bin目录运行.jmx文件,相对路径会失效,导致无法读取CSV数据。上述两种方法完全避免了依赖外部文件的问题,确保分享.jmx后对方可直接运行。

内容的提问来源于stack exchange,提问作者kapil kamtikar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:45:23