使用Jmeter如何測試下載接口


性能測試過程中,有時候需要對下載類的功能做壓測,有些同學沒有這方面的測試經驗,比較迷茫,本文簡單介紹下如何測試下載類的請求
1、首先使用fiddler抓包,知道是一個http類型的請求,有一個post請求和兩個get請求,首先post發起下載請求,最后get獲取請求文件
2、我們只需要在最后的get請求執行完之后獲取該請求接口返回的文件流,然后寫入到本地文件,就能實現下載效果,使用后置處理器beanshell編寫java代碼實現
3、推薦使用jmeter錄制功能或者fiddler抓包功能開發腳本,使用F12調試,本人測試發現最后下載返回數據的接口未顯示
4、本文介紹jmeter錄制模式

  • 一、打開錄制模版
  1. 打開jmeter,點擊文件》Templates
  2. Template選擇Recording,代表選擇默認錄制模版的意思,點擊create創建
  3. 進入到錄制頁面,設置好瀏覽器代理,點擊啟動開始錄制
  4. 在瀏覽器點擊下載按鈕,就可以成功錄制到下載請求

  5. 直接執行請求,我們可以看到/upload/downloadZbwj這個接口會返回下載的文件流
  • 二、編寫beanshel腳本獲取文件流保存
  1. 右鍵點擊獲取文件流的請求,點擊右鍵》添加》后置處理器》BeanShell PostProcessor
  2. 代碼如下
import java.io.*; import org.apache.jmeter.services.FileServer; byte[] result = prev.getResponseData(); //用來獲取返回的文件流 String str = FileServer.getFileServer().getBaseDir(); //獲取腳本執行目錄,我是在script目錄下執行的腳本 str = str.replace("script", ""); //將目錄去掉script String file_name = str+"data//${__time(,)}.cgzbwj"; //拼接目錄,把目錄改成data下,這樣保存的文件就在data目錄下,time函數用來獲取時間戳,這樣保證每次下載名字不同 File file = new File(file_name); FileOutputStream out = new FileOutputStream(file); out.write(result); //文件寫入到文件 out.close(); 


3. 該腳本代碼兼容windows、linux環境,前提是執行的腳本目錄結構如下,腳本保存到script目錄

  • 三、執行測試
  1. 線程數設置1,循環5次,點擊執行
  2. 壓測結果,如圖,文件被正常下載到了data目錄下


如果文章對你有幫助,歡迎關注本人公眾號,公眾號與本平台文章同步,方便大家查閱,本人會持續推出與測試有關的文章,與大家分享測試技術,每一篇原創文章都是用心編寫,杜絕抄襲復制


QQ技術交流群:加群請輸入驗證信息 CSDN
              在這里插入圖片描述


微信二維碼關注公眾號:


關注之后,回復資源下載,即可獲取本人共享的各種資源下載地址:


免責聲明!

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



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