JMeter是一個基於Java的自動化框架,用於負載測試功能行為和測量應用程序的性能。它基於開源技術。JMeter可以用於基於web的應用程序以及各種其他服務的性能測試。它是由Stefano Mazzocchi開發的。當JMeter首次開發時,它僅用於測試Web應用程序。然而,現在它被用於測試幾乎任何類型的係統,也可以用於應用程序的功能測試。JMeter提供了多個參數來模擬實際係統,配置不同的負載,執行底層係統和協議的性能以及壓力測試。
JMeter是一個基於Java的桌麵應用程序,因此它支持多個平台,可以運行在任何安裝了Java虛擬機的機器上,例如,Windows, Linux, Mac。JMeter框架允許並發執行,因此可以執行多個線程和線程組。作為開源技術,JMeter是可擴展的,而且它還支持大量可用的插件。JMeter是Apache軟件基礎的一部分,是完全免費和開源的。它的UI是使用Swing Java API實現的。
性能測試類型:
•性能測試:這些測試用於檢查係統網站服務器、數據庫或網絡在性能方麵的表現,也就是說,係統如何響應以及在特定工作負載下的穩定性如何。性能測試檢查軟件的響應性、穩定性、可伸縮性、可靠性、速度和資源使用情況。
•負載測試:負載測試是一種性能測試類型。它通常用於理解係統在特定負載下的行為。負載測試幫助我們確定係統可以處理的用戶數量。
•壓力測試:壓力測試是性能測試的另一種形式,用於確定係統的斷點或最大限製。這是通過增加負載,直到達到一個點,當係統達到最大閾值,然後崩潰。
•尖峰測試——當壓力測試涉及用戶數量的突然大幅上升時,它被稱為尖峰測試,這是另一種形式的性能測試。
JMeter的特點:
JMeter的功能如下:
- JMeter是一個免費的工具,不涉及任何許可證成本
- 支持多平台—它是平台獨立的工具。在Linux/Unix上,可以通過單擊JMeter shell腳本調用JMeter。在Windows上,JMeter.bat文件將啟動JMeter。
- JMeter是一個開源工具。
- JMeter提供記錄和播放功能。
- 可用資源
- 除了負載測試外,還支持一係列測試,如FTP性能、數據庫性能。
- 提供廣泛的報告
- 當我們需要在服務器上測試高負載以測試性能時,可以使用非gui模式。
- 能否在多個服務器類型上做性能測試,如Web - HTTP, HTTPS
- 肥皂
- 通過JDBC數據庫
- LDAP
- JMS
- 郵件- POP3(S)和IMAP(S)
- JMeter使用XML格式保存測試用例。這意味著可以使用文本編輯器生成測試計劃。
Jmeter是如何工作的:
Jmeter通過向服務器、數據庫或網絡發送請求來模擬用戶在應用程序上的操作。一旦Jmeter發送了用戶請求,Jmeter就開始捕獲發送的響應。JMeter保存從目標服務器接收到的所有響應,分析響應並共享報告。該報告告訴我們被測試應用程序的性能行為。
JMeter的局限性
- 在JMeter中編寫腳本需要一定程度的專業知識,並了解JMeter的不同組件,如測試計劃元素、正則表達式、會話處理等。
- JMeter不支持LoadRunner提供的網絡可視化功能。
- 要進行有大量用戶的大型測試,單台正常配置的機器是不夠的。要測試這些情況,需要一個非常高配置的雲計算機,或者執行分布式測試。
- JMeter不支持ajax或JavaScript
- 與其他工具相比,它提供非常有限的實時測試監視能力。
JMeter優於負載運行器的優點
LoadRunner是另一個用於性能測試的流行工具,它是JMeter的一個完成。JMeter的一些功能使得它比LoadRunner更強大。
- 負載運行器是一種授權工具,價格昂貴。
- LoadRunner提供有限的負載生成能力,而JMeter提供無限的負載生成能力。
- JMeter的記錄和播放特性允許任何沒有JMeter腳本知識的人也可以使用該工具。此功能在加載運行器中不可用。
安裝/環境:
JMeter是一個基於Java的框架。您的機器上應該安裝JDK 1.6或更高版本。
窗口:
- 安裝適合您係統的java包在這裏.
- 設置JAVA_HOME環境變量指向Java安裝的基本目錄位置:JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_20使用適用的Java版本
- 將Java編譯器位置附加到係統路徑。C:\\Program Files\\Java\\jdk1.7.0_25\\bin到係統變量Path的末尾
- 轉到命令行並輸入Java -version,檢查您的機器上是否安裝了Java
- 應該顯示以下消息:
java (TM) SE運行時環境(build 1.8.0_20-b26) java熱點(TM) 64位服務器虛擬機(build 25.20-b23,混合模式)
- 下載最新版本的JMeter在這裏
- 例如,將其解壓縮到文件夾C:>JMeter
- 這個文件夾的結構應該如下所示:(wnere a.b是版本號)
apache-JMeter-a.b
apache-JMeter-a.b \ \ bin
apache-JMeter-a.b \ \ docs
apache-JMeter-a.b \ \配件
apache-JMeter-a.b \ \ lib
apache-JMeter-a.b \ \ lib \ \ ext
apache-JMeter-a.b \ \ lib \ \ junit
apache-JMeter-a.b \ \ printable_docs
- 通過啟動JMeter.bat程序啟動JMeter
- JMeter GUI應該如下麵的圖1所示啟動。GUI模式應該隻用於創建測試腳本。應該使用CLI進行負載測試。
bin目錄下的新增腳本如下所示。
- -以GUI模式運行JMeter。這是默認的JMeter模式。
- JMeterw。cmd -在沒有windows shell控製台的情況下運行JMeter(默認情況下在GUI模式下)
- JMeter-n。cmd -用於將JMX文件放在此文件上以運行CLI模式測試
- JMeter-n-r。cmd -用於將JMX文件放在此文件上以遠程運行CLI模式測試
- JMeter-t。cmd -用於將JMX文件放在此文件上,以GUI模式加載它
- JMeter-server.bat—以服務器方式啟動JMeter
- mirror-server。cmd—以命令行方式運行JMeter Mirror Server
- 關閉。cmd -用於運行Shutdown客戶端,優雅地停止CLI模式實例
- stoptest。cmd—用於運行Shutdown客戶端,突然停止CLI模式實例