Jmeter騷操作—文件上傳、下載


最近很多同學都在問jmeter上傳、下載文件的腳本怎么做,要壓測上傳、下載文件的功能,腳本怎么做,網上查了都說的很含糊,這次呢,咱們就好好的把jmeter的上傳下載文件好好縷縷,都整明白了,怎么個過程,怎么做。

一、上傳/下載的過程。

       上傳的過程就是你把你本地的文件,扔到服務器上的這么一個過程。

       下載呢,就是把服務器上的文件拿過來,然后存到你本地的這么一個過程。

       總結一下呢,上傳就是你給服務器一文件,下載呢就是你從服務器上拿一文件。


二、jmeter做上傳的腳本。

     咱們先把這個過程了解了之后就開始做腳本,上面說了,上傳是一個像服務器發送數據的,一般發送數據用post請求。

    這里用的jmeter是3.2的版本。

   2.1  准備工作

          有個上傳文件的接口,接口文檔如下圖:

     

 

            打碼的是我們公司接口的域名,我這里在本地啟動的,ip是127.0.0.1 端口號是 8888    

            有了這個上傳文件的接口,也知道他的參數了,咱們就可以做腳本了。

 

   2.2 編寫腳本流程

   首先添加一個線程組,然后在線程組里面添加一個http請求,因為是發送數據,所有是post請求,寫好上傳的地址,然后寫好文件路徑

              1、添加線程組 :右鍵測試計划,添加-Threads(Users)-線程組;

              2、添加一個http請求:右鍵線程組,添加-Sampler-HTTP請求;

              3、寫好http請求中的url和路徑,以及要上傳的文件

              4、添加一個查看結果樹,查看接口調用結果。右鍵線程組,添加-監聽器-查看結果樹;

             

   2.3 腳本實例

       協議:http
       服務器名稱:127.0.0.1

       端口號:8888
       請求類型:post

       路徑:/file/upload

 

      body:要選files_upload這個tab頁,寫文件路徑,和參數名

      下面是腳本截圖:

     

     

 

    

       2.4 運行腳本,查看結果

          看下面的圖,運行結果,接口返回成功,再去服務端上傳的目錄下,看一下,到底有沒有成功。

          

            

 

    看下面的圖,服務端的files目錄下已經有咱們剛才上傳的文件了。

   

    jmeter上傳文件就是這么簡單啦,快試試吧。

 

三、jmeter下載文件。

     3.1 准備工作:

      下載文件呢,其實更簡單,就是把一個文件保存到本地就可以,我現在在百度上找了一個圖片的url,咱們下載到本地。

      圖片的url是:http://a.hiphotos.baidu.com/image/pic/item/4b90f603738da977b1e8c6c7ba51f8198718e313.jpg

   

    3.2 編寫腳本流程

      首先添加一個線程組,然后在線程組里面添加一個http請求,因為是獲取數據,所有是get請求,寫好下載的地址

              1、添加線程組 :右鍵測試計划,添加-Threads(Users)-線程組;

              2、添加一個http請求:右鍵線程組,添加-Sampler-HTTP請求;

              3、寫好http請求中的url和路徑;

        不過這個是下載腳本,下載的話,有一步是要把文件保存到咱們本地的,這個jmeter沒有現成的東西可以用,就得咱們自己寫beanshell來實現,把文件保存到本地。

        當然你如果要寫beanshell的話,你得會它的語法,它就是java寫的。不過也不用愁不會寫java咋整,這個保存文件的是死格式就這么寫,記住就行了,需要下載的時候復制過去就行。

              4、添加beanshell,獲取到返回的文件內容,保存到一個文件里面。右鍵線程組,添加-Sampler-BeanShell Sampler,beanshell代碼如下:


import java . io . * ;
 
byte [ ] result = prev . getResponseData ( ) ;    / /這個是獲取到請求返回的數據, prev是獲取上個請求的返回
 
String file_name = "C:\\Users\\bjniuhanyang\\Desktop\\BaiDu.jpg" ; / /代表存放文件的位置和文件名
 
File file = new File ( file_name ) ;
 
FileOutputStream out = new FileOutputStream ( file ) ;
 
out . write ( result ) ;
 
out . close ( ) ;

              5、添加一個查看結果樹,查看接口調用結果。右鍵線程組,添加-監聽器-查看結果樹;

 


   3.3 腳本實例

       協議:http
       服務器名稱:a.hiphotos.baidu.com

       端口號:80 (提示,端口號默認是就是80,可以不用寫哦)
       請求類型:get

       路徑:/image/pic/item/4b90f603738da977b1e8c6c7ba51f8198718e313.jpg

     腳本截圖如下:

 

      下面這個是http請求里面的,也就是咱們獲取圖片的

      

 

 

      下面這個是beanshell里面的內容,也就是咱們保存文件的操作。

     

 

      2.4 運行腳本,查看結果

          看下面的圖,運行結果,已經可以看到剛才這張圖片了,而且請求都是成功的。

 

  咱們再去桌面上看,文件已經存在桌面上了。

  

 

上傳文件和下載文件就是操作就是如此的簡單,動動小手快去試試吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM