1. 程式人生 > >JMeter學習筆記(六) 檔案下載介面測試

JMeter學習筆記(六) 檔案下載介面測試

  本次測試的是檔案下載介面,檔案是PDF文件,步驟如下:

1、通過jmeter的錄製功能,獲取了檔案下載介面的地址和引數,和其他的HTTP請求一樣的配置

 

2、執行此介面後,察看結果樹,點選下載介面的結果,可以看到響應結果像是亂碼,其實這些都是這個文件的內容,並且由於文件較大,察看響應資料時jmeter會短暫卡死

---優化:由於jmeter返回的是位元組流,當資料量太大時,會發現jmeter完全卡住,為了防止這種情況發生,可以在檢視結果樹勾選僅日誌錯誤,讓其不顯示,提高效能

 

3、如果下載介面是通的,可以通過把下載介面的響應資料"儲存到檔案"這種方式來檢視檔案,這樣查詢結果時直接到本地檢視檔案就行

新增方法:執行緒組右鍵新增 -> 監聽器 -> 儲存響應到檔案(或者是Sampler直接新增也行)

配置欄位:

  1)Save Failed Responses only:只儲存失敗的響應;

  2)Save Successful Responses only:只儲存成功的響應;

  3)Don't add number to prefix:不新增數字到檔名字首;

  4)Don't add suffix:不新增檔案字尾,即副檔名(注意:預設情況下,jmeter會根據伺服器返回的結果自動生成適合型別的檔案。)

  5)Add timestamp:新增時間戳到檔案字首 ;

  6)Minimum Length of sequence number:新增 數字時的最小值,不填預設從1開始。

注意:在不勾選任何1)和2)時,會將響應成功和響應失敗的都儲存到檔案中。新增在測試計劃下時,該監聽器預設的會為所有的sampler分別建立一個單獨的檔案來儲存響應結果,如果只想儲存某個請求的返回結果時,只要把監聽器拖動到某個請求的作用域下,就只會儲存這個請求的響應。

 

優化:加上時間戳,歷史檔案就不會被覆蓋掉

 

 

4、下載的檔案,可以通過新增 後置處理器 BeanShell PostProcessor 儲存到本地

程式碼(換一個檔案地址和名稱就行):

import java.io.*;
byte[] result = prev.getResponseData(); //這個是獲取到請求返回的資料,prev是獲取上個請求的返回
String file_name = "D:/Program Files/apache-jmeter-3.3/bin/result/下載檔案/180607144641.pdf"; //代表存放檔案的位置和檔名
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

 

5、如果要判斷檔案是否下載完整,可以通過新增斷言來判斷