2016-09-29 103 views
1

一个简单的问题,我希望。Jmeter多文件上传

JMeter的版本:3.0

如何包含多个文件上传一次,而不是选择在每个文件的基础上?我想在单个请求中上传大约1000个文件,并且似乎永远需要使用当前用户界面进行设置。

enter image description here

回答

1

您可以使用Beanshell PreProcessor动态构建HTTP请求取样器的有效载荷提供源文件夹,如:

  1. 添加BeanShell的预处理器作为HTTP Request样的孩子
  2. 把下面的代码Beanshell预处理器的“脚本”区域

    import org.apache.jmeter.protocol.http.util.HTTPFileArg; 
    
    File folder = new File("path_to_your_folder"); 
    
    File[] files = folder.listFiles(new FileFilter() { 
        public boolean accept(File file) { 
         return file.isFile(); 
        } 
    }); 
    if (files != null) { 
        HTTPFileArg[] filesToUpload = new HTTPFileArg[files.length]; 
    
        for (int i = 0; i < files.length; i++) { 
         HTTPFileArg fileToUpload = new HTTPFileArg(files[i].getPath(), "your_param", "your_mime_type"); 
         filesToUpload[i] = fileToUpload; 
        } 
        sampler.setHTTPFiles(filesToUpload); 
    } 
    

变化在上面的脚本中的下列字符串匹配您的环境: - 到文件夹文件所在的文件住

  • your_param完整或相对路径 -

    • path_to_your_folder上传形式name attribute`
    • your_mime_type - 至MIME type的文件

    Re ferences:

  • +0

    它的工作原理简单地精彩,谢谢。 – Joey