当前位置: 首页 > 知识库问答 >
问题:

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

谷星文
2023-03-14

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

目前,我有一个jmeter脚本可以从一个csv文件中读取数据,它工作得很好,所以必须将其扩展到从多个csv文件中读取数据。

共有1个答案

呼延博易
2023-03-14

我相信最简单的解决方案是将所有多个CSV文件组合成一个测试开始的前主逻辑。

>

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

    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')
            }
        }
    }
    

    配置CSV数据集配置以使用combined.CSVfilet

  •  类似资料:
    • 如果我在IntelliJ IDE中测试这一点,只需将writeLine方法包装到main方法中,就可以正常工作 我的问题是:groovy sampler是否理解Java(在我看到的一篇文章中提到groovy理解99%的Java语法)。曾经有人成功地使用JMeter将数据写入csv文件吗?

    • 我读了很多关于这个话题的答案,但我找不到适合我的答案。 null 线程组 主页 循环控制器 ---登录 -----CSV DataSetConfig [另一个http调用] 如果我将线程数设置为2并循环到2,我将得到树: null null 主页1 登录用户1 登录用户2 我还尝试在登录调用之前将CSV数据集放在线程组中。如果我设置2个用户启动流,总是从CSV中选择第一行。 我需要的是: null

    • 但是根据目前的需求,我们需要从mongodb中获取数据,将这些动态值传递给HTTP请求采样器,我的意思是我们需要根据数据库中的动态值构建HTTP请求采样器? 你能不能请谁帮我一下。

    • 我有一个包含CSV文件的目录。每个文件都包含我想用JMeter发出的GET请求列表。我想要做的是读取一个目录中的所有文件,然后循环通过每个CSV在JMeter中发送请求。文件的数量不一致,所以我不想将文件名硬编码到CSV采样器中。 因此,实际上,我希望读取目录中的所有文件,并将这些文件存储在一个数组变量中。循环遍历数组并将CSV文件发送给CSV采样器,然后CSV采样器读取CSV文件并将内容传递给H

    • 我有网站的静态域名(test.com)和CSV文件路径到不同的页面,如home.html、contacts.html、projects.html和其他。我必须如何配置Jmeter从文件接收数据作为变量到“路径”到“HTTP请求”采样器?