JMeter -从目录中读取文件

hsgswve4  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(379)

使用Apache JMeter
第一个问题:我能够从一个目录中读取一个文件(包含所有数据),并使用其中的数据。
但是现在的要求是为每个数据点一个单独的文件,这意味着我将不得不把许多数据文件放在一个目录中,然后从该目录中读取文件。我有一组数据文件,但我不知道如何在循环中读取每个文件并将其发送到JMeter。
第二题:我们这里讨论的数据是一个JSON消息,它是缩进的,并且是多行,如何将多行文件读入单个输入变量?同样,当JSON消息是单行时,我没有问题。

agyaoht7

agyaoht71#

  • 使用Beanshell采样器将文件列表转换为JMeter变量:
  • Beanshell Sampler添加到测试计划中
  • 将以下代码放入采样器的“脚本”区域:
File folder = new File("/path/to/your/folder");
File[] files = folder.listFiles();
int counter = 1;
for (File file : files) {
    vars.put("file_" + counter, file.getAbsolutePath());
    counter++;
}

它将产生如下变量集:
文件_1 =/路径/到/您的/文件夹/文件1.txt文件_2 =/路径/到/您的/文件夹/文件2.txt等等。

  • Beanshell采样器之后添加ForEach控制器,并按如下方式对其进行配置:
  • 输入变量前缀:file
  • 循环的起始索引:0
  • 循环的结束索引:保留空白
  • 输出变量名称:任何有意义的值,例如current_file
  • 检查Add "_" before number
  • 将您的主采样器作为ForEach控制器的子项。在需要时,使用__FileToString()函数将每个文件内容作为${__FileToString(${current_file},,)}进行寻址
sycxhyv7

sycxhyv72#

如果使用目录列表数据源,为了循环访问,您应该使用,其中您将使用$current_file . __FileToString()函数作为 Dmitri Talexandrul 上面提到的${__FileToString(${current_file},,)}
非常简单地看过去。

wmvff8tz

wmvff8tz3#

你可以使用下面代码来读取文件数据

FileWriter fWriter = new FileWriter("D:\\report\\Results.csv",true);
BufferedWriter buff = new BufferedWriter(fWriter);

buff.write("file created \n");

buff.close();
fWriter.close();

相关问题