jmeter,學這些重點就可以了


前言

對測試來說,jmeter應該是大家使用較頻繁的測試工具之一,因為其開源、免費、輕量、功能強大,支持很多種協議,除了測功能,還能做自動化和性能測試;

據某機構的調查,性能並發工具中,jmeter市場占有率已經50%+,超過了老大哥loadrunner;

這么一款如此優秀的工具,對測試而言,是必須掌握的;

經常看到群里大家討論jmeter的各種功能,我發現有些朋友過度使用了一些不必要的功能;其實,jmeter常用的功能並不多,把主要的掌握,基本上就可以搞定90%的需求了,所以,不要把時間耗費在工具不常用的功能上,如果是做性能測試,分析定位調優才是重點

jmeter常用功能(性能方向)

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

測試計划

線程組

【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最佳實踐

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

大概意思是:

Jmeter壓測減少資源使用的一些建議,即壓測結果會更准確:

1、使用非GUI模式(也就是CLI,Command Line Interface,命令行界面):jmeter -n -t test.jmx -l result.jtl

2、少使用Listener, 如果使用-l參數,它們都可以被刪除或禁用

3、在加載測試期間不要使用“查看結果樹”或“用表格查看結果”監聽器,只能在腳本階段使用它們來調試腳本

4、包含控制器在這里沒有幫助,因為它將文件中的所有測試元素添加到測試計划中

5、不要使用功能模式

6、使用CSV輸出而不是XML

7、只保存你需要的數據

8、盡可能少地使用斷言

9、如果測試需要大量數據,尤其是需要將其隨機化,可以提前准備好測試數據放到數據文件中,從CSV數據集中讀取, 這樣可以避免在運行時浪費資源 

 

如有不准之處,或者補充,請文末留言,謝謝。

 

 


免責聲明!

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



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