如何在jmeter中为每个线程上传不同的文件

时间:2017-06-15 08:45:31

标签: jmeter

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

    安装HTTP Simple Table Server

    JMeter Plugins JMeter Plugins Manager

  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()