>我有一个请求有效负载(JSON 格式(,它有一个包含 1000 个对象的数组,每个对象有 6 个键值对,其中 5 个我使用参数化从 csv 文件中读取,第 6 个键必须是数组中每个对象的未来日期的唯一日期值。
我尝试使用时移函数进行此操作,该功能适用于 1 次迭代,但我想执行它进行 n 次迭代。
我为此检查了时髦的代码,但我对时髦一无所知,并开始学习它。
我怎样才能在JMeter中实现这一目标。
此外,在从 HTTP 请求默认值参数或测试计划用户定义的变量读取时移函数时,它不会为每个对象读取不同的日期,而是复制每个对象中第一个变量的相同日期。
{
“deviceNumber": “XX”,
“array: [
{
“keyValue1: “${value1_ReadFromCSV}”,
"keyValue2”: “${value2_ReadFromCSV}”,
"keyValue3”: “${value3_ReadFromCSV}”,
"keyValue4”: “${value4_ReadFromCSV}”,
"keyValue5”: “${value5_ReadFromCSV}”,
"keyValue6”: "2020-05-23” (Should be dynamically generated)
},
{
“keyValue7: “value7_ReadFromCSV”,
"keyValue8”: "value8_ReadFromCSV",
"keyValue9”: "value9_ReadFromCSV",
"keyValue10”: "value10_ReadFromCSV",
"keyValue11”: "value11_ReadFromCSV",
"keyValue12”: "2020-05-24” (Should be dynamically generated)
},
.
.
.
.
{
“keyValue995: “value995_ReadFromCSV”,
"keyValue996”: "value996_ReadFromCSV",
"keyValue997”: "value997_ReadFromCSV",
"keyValue998”: "value998_ReadFromCSV",
"keyValue999”: "value999_ReadFromCSV",
"keyValue1000”: "2025–12-31” (Should be dynamically generated)
}
]
}
我已经得到了部分解决方案,通过逐行读取 csv 文件并使用 groovy 将每一行存储到一个变量中。但是,我不想直接将行存储到变量中,而是从 csv 文件的每一行创建一个像上面这样的 JSON 对象,并为数组中的每个对象创建一个唯一的未来日期。
csv 文件是:(注意:我已经删除了 csv 中日期列的列,因为我不再需要它。
deviceNumber,keyValue1,keyValue2,keyValue3,keyValue4,keyValue5,keyValue7,keyValue8,keyValue9,keyValue10,keyValue11,keyValue12,keyValue13,keyValue15,keyValue15,keyValue16
01,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring
02,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring
03,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring
.
.
.
1000,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring,somestring
请建议任何参考/示例来执行此操作。
我只提供通用说明:
- 您可以使用 JSR223 预处理器动态构造请求正文
- 您可以使用File.readLines((函数将CSV文件读入内存
- 您可以使用 JsonBuilder 类从 CSV 文件中的值构建 JSON 。
更多信息:
- Apache Groovy - 解析和生成 JSON
- Apache Groovy - 为什么以及如何使用它