jmeter進行文件下載的性能測試


      WEB端系統,經常會有一些導出功能。這些功能的導出,是后台經過各種拼裝,以數據流的形式進行下載。這個過程,會隨着數據量的增加,對服務器產生較大壓力且下載時間變長。有時並發下載就會導致系統變的特別慢。為此,需要對導出功能進行下性能測試。

一、下載的關鍵      

導出性能下載測試需要通過“BeanShell 取樣器”,用到一段JAVA代碼,用以獲取下載文件。,代碼如下:

    import java.io.*;

    byte[] result = prev.getResponseData();
    String file_name = "D:/download-files/guojigenzong-${index}.xlsx"; 
    File file = new File(file_name);
    FileOutputStream out = new FileOutputStream(file);
    out.write(result);
    out.close();

二、下載測試的過程

1、發送查詢請求,比如查詢某個時間段的數據

2、導出請求,導出對應的數據

 頁面查詢出數據后,點擊頁面的導出或者export,會導出選中的數據,或者前面查詢出的數據

3、使用“BeanShell 取樣器,獲取文件。

  

 

 

 

import java.io.*;
byte[] result = prev.getResponseData();
String file_name = "D:/download-files/guojigenzong-${index}.xlsx";
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

 4、BeanShell代碼文件中的index用以生成不同的序號進行區分,這個是在前面定義了一個計數器

 

 5、下載結果的斷言

 實際執行中,發現文件是能下載,但有時文件內容為空,那么可以增加一個斷言,用以標明下載是否成功,當然下載不多時,也可以在下載文件夾中進行查看

此斷言需要添加在步驟2后面

 

 6、如果需下載多中類型的文件,可以修改代碼中文件名字,用csv文件配置來讀取

String file_name = "D:/download-files/${filename}-${index}.${fextension}";

參考:https://www.cnblogs.com/zhengna/p/9592596.html


免責聲明!

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



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