如何在JMeter中将文件传递到CSV采样器

时间:2018-09-20 19:21:19

标签: csv jmeter beanshell

我有一个包含CSV文件的目录。每个文件都包含我想使用JMeter进行的GET请求列表。我想做的是读取目录中的所有文件,然后遍历每个CSV以在JMeter中发送请求。文件数量不一致,因此我不想将文件名硬编码到CSV采样器中。

因此,实际上,我想读取目录中的所有文件,并将文件存储在数组变量中。遍历数组并将CSV文件发送到CSV采样器,然后CSV采样器将读取CSV文件并将内容传递到HTTP Request采样器以发送GET请求。

我创建了一个bean脚本来读取目录中的文件并将它们存储在数组中,但是当我尝试将此文件传递给CSV config元素时,出现错误,指出该变量不存在。

我尝试了另一个bean脚本来读取文件,并将行作为变量传递给HTTP请求采样器,但是问题是,它将每个线程的所有文件内容存储在内存中。

我想知道读取文件,发送请求以及使用响应数据生成报告的最佳方法

1 个答案:

答案 0 :(得分:0)

  1. 您将无法使用Beanshell填充CSV数据集配置,因为CSV数据集配置是Configuration Element,并且根据Execution Order用户手册一章,之前先执行 >其他。
  2. Since JMeter 3.1 you should not be using Beanshell,建议切换到JSR223 Elements和Groovy语言

我建议您使用Directory Listing Config插件,它会扫描提供的文件夹(在您的情况下为CSV文件),并将找到的文件路径存储到JMeter变量中

JMeter Directory Listing Config

因此,您可以将目录列表配置与__StringFromFile()__CSVRead()函数结合使用,这或多或少是实现需求的好方法。