【问题标题】:How can i upload different files per thread in jmeter如何在 jmeter 中为每个线程上传不同的文件
【发布时间】:2017-06-17 14:10:54
【问题描述】:

我目前可以使用 POST 和文件路径将文件上传到 Web 服务。 JMeter 2.13

当使用 1 个线程运行测试时,它会将目录中的所有文件上传到 Web 服务。如果我用 2 个线程运行它,它会将所有文件上传两次。

我希望能够为每个线程发送 x 个随机文件,但不想再次发送相同的文件。

关于如何在不使用 CSV 文件的情况下执行此操作的任何建议?

【问题讨论】:

  • 您需要随机化文件名中的值吗?
  • @user7294900 我不想使用文件来执行此操作我希望能够指向一个文件夹并让 JMeter 每个线程选择 10 个文件。
  • 创建包含随机文件的不同文件夹并将它们命名为 Folder1、Folder2 .....在脚本中添加一个计数器,并在参数名称中使用,如“Folder${Counter}”这样每次它都会拿起下一个包含不同文件的文件夹

标签: jmeter


【解决方案1】:

我可以看到至少 2 种可能的解决方案:

  1. 使用HTTP Simple Table Server 插件。它具有KEEP=FALSE 选项,因此文件将在上传后从列表中删除。您可以使用JMeter Plugins Manager 安装 HTTP Simple Table Server

  2. 使用以下方法:

    • setUp Thread Group 使用JSR223 Sampler 将包含测试文件的文件夹复制到临时位置,相关的Groovy 代码将类似于:

      org.apache.commons.io.FileUtils.copyDirectoryToDirectory(new File('/path/to/source/folder'), new File('/path/to/destination/folder'))
      
    • 文件上传请求后,您可以删除JSR223 PostProcessor中已使用的文件,如:

      new File('/path/to/the/file').delete()
      

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-08
    • 2014-02-15
    • 1970-01-01
    • 2016-08-29
    • 2018-07-11
    • 1970-01-01
    • 2019-01-23
    • 2011-12-11
    相关资源
    最近更新 更多