JMeter的作用
1.能夠?qū)TTP和FTP服務(wù)器進行壓力和性能測試, 也可以對任何數(shù)據(jù)庫進行同樣的測試(通過JDBC)。
2.完全的可移植性和100% 純java。
3.完全 Swing 和輕量組件支持(預(yù)編譯的JAR使用 javax.swing.*)包。
4.完全多線程 框架允許通過多個線程并發(fā)取樣和 通過單獨的線程組對不同的功能同時取樣。
5.精心的GUI設(shè)計允許快速操作和更精確的計時。
6.緩存和離線分析/回放測試結(jié)果。
JMeter的高可擴展性
1.可鏈接的取樣器允許無限制的測試能力。
2.各種負載統(tǒng)計表和可鏈接的計時器可供選擇。
3.數(shù)據(jù)分析和可視化插件提供了很好的可擴展性以及個性化。
4.具有提供動態(tài)輸入到測試的功能(包括Javascript)。
5.支持腳本編程的取樣器(在1.9.2及以上版本支持BeanShell)。
在設(shè)計階段,JMeter能夠充當(dāng)HTTP PROXY(代理)來記錄IE/NETSCAPE的HTTP請求,也可以記錄apache等WebServer的log文件來重現(xiàn)HTTP流量。當(dāng)這些HTTP客戶端請求被記錄以后,測試運行時可以方便的設(shè)置重復(fù)次數(shù)和并發(fā)度(線程數(shù))來產(chǎn)生巨大的流量。JMeter還提供可視化組件以及報表工具把量服務(wù)器在不同壓力下的性能展現(xiàn)出來。
相比其他HTTP測試工具,JMeter最主要的特點在于擴展性強。JMeter能夠自動掃描其lib/ext子目錄下.jar文件中的插件,并且將其裝載到內(nèi)存,讓用戶通過不同的菜單調(diào)用。
線程組(多并發(fā)基礎(chǔ))
普通線程組用于封裝測試流程,可設(shè)置多線程,循環(huán)等
setUp Thread Group 預(yù)測試操作,測試前執(zhí)行的定期線程組
-
tearDown Thread Group 執(zhí)行測試后動作,測試結(jié)束后執(zhí)行的定期線程組
線程組
配置元件
參數(shù)化設(shè)置
jdbc連接配置
-
http信息管理
配置元件
Jmeter七大組件簡介

1、取樣器
-
向服務(wù)器發(fā)送請求,記錄響應(yīng)信息,記錄響應(yīng)時間的最小單元,JMETER原生支持多種不同的sample,比如 http請求、FTP請求等,每種不同類型的sampler可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請求。
image.png
2、斷言
-
斷言用于檢查測試中得到的相應(yīng)數(shù)據(jù)等是否符合預(yù)期,斷言一般用來設(shè)置檢查點,用以保證性能測試過程中的數(shù)據(jù)交互是否與預(yù)期一致。
斷言
3、邏輯控制器
-
可進行子業(yè)務(wù)和分支業(yè)務(wù)封裝,增加判斷條件循環(huán)等
邏輯控制器
4、前置處理器
多用于環(huán)境復(fù)歸
可修改取樣器的內(nèi)容
-
在不同線程使用不同變量值
前置處理器
5、后置處理器
- 多用于參數(shù)傳遞
-
提取參數(shù)并輸出日志等
后置處理器
6、定時器
-
加等待時間
定時器
7、監(jiān)聽器
- 生成各種形式的測試報告
-
發(fā)送郵件等
image.png
Jmeter元件執(zhí)行順序
在同一作用域名范圍內(nèi),測試計劃中的元件按照以下順序執(zhí)行:
①配置元件
②前置處理程序
③定時器
④取樣器
⑤后置處理程序
⑥斷言
⑦監(jiān)聽器








