jmeter基礎之保存響應數據到文件


關於如何記錄jmeter壓測過程中出現的偶現錯誤請求的response,主要是兩種思路,一種將response保存到本地文件,一種是將response發送到遠程,如kafka、es、mysql等等

如果是mysql的話,可以使用jdbc processer,如果是kafka或者es,可以用beanshell腳本,具體beanshell的使用看下文轉載內容中的使用樣例,樣例中給的是beanshell保存到本地文件的實現

 

 

轉載 https://cloud.tencent.com/developer/article/1833093

關於此功能主要運用於非GUI模式下執行腳本的響應查看,以便於幫助我們更好的判斷腳本的執行情況。

關於保存響應到文件jmeter存在多種方式,大致分兩類jmeter自帶插件和beanshell腳本編寫,本章節將介紹這兩種方式保存數據!

保存響應到文件

添加監聽器-->保存響應到文件

觀察保存響應到文件配置頁面:

配置頁面參數介紹:

  • Save Successful Responses only:僅保存成功響應
  • Save Failed Responses only:僅保存失敗響應
  • Don't save Transaction Controller Sample Result:不保存事務控制器樣本結果
  • Don'tadd number to prefix:不添加數字到文件前綴
  • Don'tadd contenttype suffix:不添加文件的后綴類型
  • Add timestamp:添加時間戳到文件前綴

添加http請求后將保存響應到文件配置元件移動到http請求事務下:

運行http請求結果可在D:\test\路徑下得到一個response文件:

beanshell腳本

beanshell腳本可使用兩種元件,BeanShell PostProcessor后置處理器,Bean Shell Sampler取樣器,使用beanshell腳本需要借助一些提取器如json提取器,正則提取器。

BeanShell PostProcessor

http請求下添加正則表達式提取器:

添加beanshell后置處理器並配置相關信息:

源碼如下:

FileWriter fileWriter = new FileWriter("D:/test/test.csv", true); //"D:/test/test.csv" 為本地路徑(根據自己路徑設置),支持csv和txt格式 BufferedWriter out = new BufferedWriter(fileWriter); //out.write( vars.get("id")+","+vars.get("id1")+"\n"); out.write( vars.get("id")+"\n"); //其中id和id1等均為正則或jsonpath提取的變量名稱如下圖所示 //此處展示了一個變量和多個變量的寫法,可根據自身實際需要調整 out.close(); fileWriter.close();

運行以上請求可查看結果如下,並在D:\test\路徑下得到一個test.csv文件:

Bean Shell Sample

我們來使用beanshell取樣器寫入文件所有返回的id值,這里我們可以添加一個ForEach控制器,並且修改一下正職提取器的配置:

添加ForEach控制器並配置相關信息:

添加beanshell取樣器並配置信息:

源碼信息同beanshell后置處理器內容一樣,運行請求可觀察結果運行了10次,並在

D:/test/路徑下生成了一個test.csv文件:

 


免責聲明!

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



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