Jmeter:使用具有不均匀列的 CSV 文件来测试驱动采样器

Posted

技术标签:

【中文标题】Jmeter:使用具有不均匀列的 CSV 文件来测试驱动采样器【英文标题】:Jmeter: Using CSV file with uneven columns to test drive sampler 【发布时间】:2021-06-10 08:23:35 【问题描述】:

我有一个包含商店列表的 csv 文件。每个商店有 10 个部门。 我需要为 100 家商店的所有 10 个部门进行 GET API 调用。所以我在 CSV 文件中的列不是前夕。我将有 A 列有 100 个商店 ID,B 列有 10 个部门 ID。 如何在 Jmeter 采样器中使用每个 Store ID 10 次(每个部门 ID 一次)?

【问题讨论】:

【参考方案1】:

如果您想使用 CSV Data Set Config 实现此目的 - 唯一的方法是将您的 CSV 文件拆分为 2 个单独的文件

如果 CSV 文件来自外部来源且无法更改 - 您可以考虑使用 __groovy() function 类似:

$__groovy(new File('test.csv').readLines().get(vars.get('__jm__Loop Controller - Store__idx') as int).split('\,')[0],)

给定示例 CSV 文件 test.csv,其内容如下:

store1,department1
store2,department2
,department3
,department4
,department5
,department6
,department7
,department8
,department9
,department10

您可以使用以下方法实现您的要求:

有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It

【讨论】:

感谢您的回答。看起来它必须使用一些编码,因为我需要在同一个调用中使用 Store 和部门作为参数。否则循环图像很棒。 将两个函数放在一个请求中是没有问题的

以上是关于Jmeter:使用具有不均匀列的 CSV 文件来测试驱动采样器的主要内容,如果未能解决你的问题,请参考以下文章

如何将火花数据输出到具有单独列的 csv 文件?

对具有不均匀空格的空格分隔列表进行排序

如何将具有 1 列文件的 CSV 导入具有 2 列的 DB 表?

PySpark:如何将具有 SparseVector 类型的列的 Spark 数据帧写入 CSV 文件?

Jmeter参数设置

记一次jmeter添加多个csv文件导致的性能骤降