JMeter从http采样器的多个csv文件中获取数据

JMeter从http采样器的多个csv文件中获取数据,jmeter,Jmeter,我将有n个(不是固定数量的文件)数量的csv文件,这些文件应该作为输入传递给http采样器请求。计划是所有线程都应该从csv文件1和文件2读取数据。。。直到文件n。任何线程都不应读取任何重复数据 目前,我有jmeter脚本从1个csv文件读取数据,它工作正常,因此必须扩展该脚本以从多个csv文件读取数据。使用目录列表配置插件。请浏览下面的链接 在jmeter中迭代多个文件还有其他方法,但这将是最简单的方法。我认为最简单的解决方案是将所有多个CSV文件合并到测试开始之前的一个主逻辑中 添加到您的

我将有n个(不是固定数量的文件)数量的csv文件,这些文件应该作为输入传递给http采样器请求。计划是所有线程都应该从csv文件1和文件2读取数据。。。直到文件n。任何线程都不应读取任何重复数据


目前,我有jmeter脚本从1个csv文件读取数据,它工作正常,因此必须扩展该脚本以从多个csv文件读取数据。

使用目录列表配置插件。请浏览下面的链接


在jmeter中迭代多个文件还有其他方法,但这将是最简单的方法。

我认为最简单的解决方案是将所有多个CSV文件合并到测试开始之前的一个主逻辑中

  • 添加到您的测试计划中。设置线程组的思想是,它在任何其他线程组之前运行,因此您可以使用它生成测试数据
  • 添加到安装线程组
  • 将以下代码放入“脚本”区域:

    def combined=新文件('combined.csv')
    combined.text=“”
    combined.withWriter{writer->
    新文件('/path/to/folder/with/your/CSV/files').listFiles()。每个{File->
    file.withReader{reader->
    作家
    
    def combined = new File('combined.csv')
    combined.text = ''
    
    combined.withWriter { writer ->
        new File('/path/to/folder/with/your/CSV/files').listFiles().each { file ->
            file.withReader { reader ->
                writer << reader << System.getProperty('line.separator')
            }
        }
    }