使用 JMeter 从 CSV 文件构建 JSON 批处理

Posted

技术标签:

【中文标题】使用 JMeter 从 CSV 文件构建 JSON 批处理【英文标题】:Build JSON Batches from CSV file with JMeter 【发布时间】:2020-07-24 20:09:41 【问题描述】:

我需要使用 CSV 文件中的记录来测试接受批量 JSON 请求的 API。我精通使用 CSV 文件中的数据(以及 JMeter 变量等)发送简单的 REST 请求。

JMeter 是否可以将一个包含 10,000 条记录的 CSV 文件批处理为每个包含 100 条记录的 JSON 有效负载?

我找到的答案涵盖了从 CSV 文件逐行制作 JSON 有效载荷,甚至如何使用预制的 JSON 文件作为有效载荷,但没有关于从 CSV 文件中的多行动态创建 JSON 有效载荷之前发送请求。

例如:

CSV 类似于

col1,col2
a,b
c,d
e,f
...

我需要一个类似的 JSON 负载

 
       'Some keys that dont change': null,
       [
          'RecordNum': 1, 'col1': 'a', 'col2': 'b',
          'RecordNum': 2, 'col1': 'c', 'col2': 'd',
          'RecordNum': 3, 'col1': 'e', 'col2': 'f',
          ...
       ]
  

TIA!

【问题讨论】:

【参考方案1】:

CSV Data Set Config 无法从 CSV 读取多行。所以你必须依赖JSR223_PreProcessor

您可以读取 CSV 文件并执行所需的有效负载操作。当然,您需要为此了解 groovy。不是我能想到的那么优雅的解决方案:

输出:-

【讨论】:

以上是关于使用 JMeter 从 CSV 文件构建 JSON 批处理的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jmeter 的 post 请求中发送 csv 文件或 json 数据?

jmeter-结果数据写入指定文件

从 Jmeter 中的 CSV 文件中随机选择

如何从 Jmeter 发送 csv 文件上传请求

Jmeter读取CSV参数化文件

如何从数据库中读取值,例如 jmeter 中的 csv 文件