2016-09-29 42 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