jmeter常用功能(性能方向)


一、前言

  對測試來說,jmeter應該是大家使用較頻繁的測試工具之一,因為其開源、免費、輕量、功能強大,支持很多種協議,除了測功能,還能做自動化和性能測試;
  據某機構的調查,性能並發工具中,jmeter市場占有率已經50%+,超過了老大哥loadrunner;這么一款如此優秀的工具,對測試而言,是必須掌握的;經常看到群里大家討論jmeter的各種功能,我發現有些朋友過度使用了一些不必要的功能;其實,jmeter常用的功能並不多,把主要的掌握,基本上就可以搞定90%的需求了,所以,不要把時間耗費在工具不常用的功能上,如果是做性能測試,分析定位調優才是重點

二、jmeter常用功能(性能方向

  從jmeter2.x版本用到現在的5.x,常用的功能也就下面列舉的這些,我不詳細單講,因為網上很多介紹,我博客或者B站,也有對應的實戰應用:

測試計划

線程組

【Sampler】

  HTTP請求:可以參考:測試必備:jmeter測試http協議接口的各種傳參方式        

  BeanShell Sampler       

  Debug Sampler:只看到jmeter變量如果是其它協議,比如java、dubbo、websocket、smtp、tcp、jdbc,添加對應的取樣器等即可,如果沒有,那么就需要我們自己開發,所以,java基礎是必備的。

【邏輯控制器】

  事務控制器       

  ForEach控制器        

  僅一次控制器

【前置處理器】

  BeanShell PreProcessor

【后置處理器】

  正則表達式提取器:關聯的方式很多,我喜歡用萬能的正則。另外,大家可以看之前寫的:jmeter關聯的5種方式       

  Debug PostProcessor:除了可以看到jmeter變量,還可以看到配置信息,最好放在正則表達式提取器后面,否則看不到提取的結果        

  BeanShell PostProcessor

【斷言】

  響應斷言       

  BeanShell斷言

【定時器】

  常數定時器        

  高斯隨機定時器        

  Synchronizing Timer

【配置元件】

  HTTP信息頭管理器        

  HTTP Cookie管理器        

  CSV 數據文件設置       

  HTTP請求默認值 

【監聽器】

  查看結果樹        

  聚合報告
函數助手

  常用的函數需要掌握,如隨機函數等,舉例:生成1-1000的隨機數,可以通過${__Random(1,1000,key)}生成隨機數,通過${key}可以獲取這個隨機數;
分布式壓測

  分布式壓測也是需要掌握的,參考:jmeter5.1分布式壓測
  另外,beanshell相關的,可以參考:玩轉jmeter:beanshell必備技能

三、jmeter執行順序

  配置元件 → 前置處理器 → 定時器 → 取樣器 → 后置處理器 → 斷言 → 監聽器;

  同一層級的,順序執行;  

四、jmeter最佳實踐

  最后,我們來看看官方的最佳實踐,地址是:https://jmeter.apache.org/usermanual/best-practices.html

  

  大概意思是:Jmeter壓測時減少資源使用的一些建議,即使壓測結果會更准確。翻譯如下:

  1.使用CLI(Command Line interface:命令行界面)模式:jmeter-n-t test.jmx-l test.jtl

  2.盡可能少地使用偵聽器;如果像上面那樣使用-l標志,它們都可以被刪除或禁用。

  3.在負載測試期間不要使用“查看結果樹”或“查看表中的結果”偵聽器,只在腳本編寫階段使用它們來調試腳本。

  4.不要使用很多相似的采樣器,而是在一個循環中使用相同的采樣器,並使用變量(CSV數據集)來改變樣本。[Include控制器在這里沒有幫助,因為它將文件中的所有測試元素添加到測試計划中。]

  5.不使用功能模式

  6.使用CSV輸出而不是XML

  7.只保存您需要的數據

  8.盡量少用斷言

  9.使用性能最高的腳本語言(請參閱JSR223部分)

  如果您的測試需要大量的數據(特別是如果需要隨機化的話),請在一個可以用CSV數據集讀取的文件中創建測試數據。這避免了在運行時浪費資源。

 

參考鏈接:https://mp.weixin.qq.com/s/0zL3HbmJ_YluNPdQ1QwRbA


免責聲明!

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



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