1. Jemter 介紹
2. Jmeter 文件目錄介紹
3. JMeter 修改默認配置
1. JMeter 介紹
什么是 JMeter ?
- JMeter 是輕量級的接口性能測試工具,同時具備一定程度的接口自動化測試能力。
- JMeter 支持多協議,其中較適合測試使用公有協議(如 HTTP、JDBC 等)的服務或模塊,特別適合 B/S 結構的后台性能系統。
- JMeter 有大量第三方插件,也可以比較方便的編寫適合自己使用的插件。
- Java 應用(依賴 JDK),可以運行在任何 Java 支持的系統上。
- 對比 LoadRunner,JMeter 有開源、免費、使用簡單、安裝簡便的特點。雖然功能不如 LR 完善,但是也足夠支撐性能測試工作。
- 支持腳本。
- 支持分布式部署。
- 圖形化展示結果。
Jmeter 與 Loadrunner 的對比
Loadrunner
- 優點
- 多用戶(支持數量單位:萬)
- 詳細分析報表
- 支持 IP 欺騙
- 缺點
- 收費
- 體積龐大(單位 GB)
- 無法定制功能
Jmeter
- 優點
- 免費、開源
- 小巧
- 豐富學習資料及擴展組件
- 應用廣泛
- 易上手
- 缺點
- 不支持 IP 欺騙
- 分析和報表能力相對於 LR 欠缺精度
基本原理
錄制的原理:Jmeter 作為瀏覽器與 web 服務器之間的代理網關,可以捕獲瀏覽器的請求和 web 服務器的響應,通過線程來模擬真實用戶對 web 服務器的訪問壓力。
並發壓測原理:Jmeter 內部建立一個線程池,多線程運行取樣器產生大量負載,在運行過程中通過斷言來驗證結果的正確性,可以通過監聽來記錄測試結果。
基本概念
測試計划(Test Plan)
- JMeter 測試計划是一系列配置元件、線程組,控制器, Sampler,斷言,監聽器、定時器組成的集合。
- JMeter 的各種部件以樹形目錄結構在工程中被組織起來,根節點下屬器件類型一般是配置器、線程組,監聽器。
- JMeter 運行時會首先運行配置器,然后啟動線程組,全部線程組中 Sampler 的執行結果會在配置的監聽器中出現。
- 雖然從界面上可以在測試計划根節點上添加監聽器、斷言,但是絕大多數情況下,不需要在根節點配置這兩類器件。
線程組(Thread Group)
- 線程組是一組器件,是一系列配置器、控制器、定時器、 Sampler,斷言和監聽器的集合。
- 線程組的線程數量、執行次數、啟動時間都可以配置。
- 線程啟動后會順序執行下屬的配置器、控制器、定時器、 Sampler、斷言和監聽器,實現一系列包含測試邏輯的操作。
取樣器(Sampler)
- Sampler 中文翻譯為取樣器,可以理解為對被測目標的一次請求或調用。
- JMeter 原生攜帶了很多常用的 Sampler,如 http、bsf、jsr223、 jdbc 等。
- 一般情況下,進行 web 后端測試使用 http、bsf、jsr223 三個類型的 Sampler,加上對應的控制器已可以滿足需要了。
- 偶爾可能會用到 jdbc,有些系統會使用 websocket 等第三方插件。
邏輯控制器(Logic Contoller)
- Logic Contoller 中文名叫邏輯控制器。這一類器件用於控制線程組內部的采樣器的執行邏輯。
- 以 http 采樣器為例, 可以通過 loop 控制器定義某個或某幾個采樣器的執行次數、通過 if 控制器定義某個采樣器執行后,接下來執行哪個采樣器。
- 邏輯控制器的作用和各種語言中的邏輯控制語句非常相似,所以使用過任何語言的同學應該可以很好理解。
- 想順利使用 Jmeter,掌握一門這個工具支持的計算機語言是必須的,對於沒有使用過計算機語言的同學,推薦可以從 javascript 學起。
定時器(Timer)
- Timer 中文翻譯為定時器。定時器一般只在線程組中被使用,作用實際上是讓線程等待一段時間。
- Jmeter 提供很多類型的定時器有很多類型,可以根據自己的需要選擇合適的。
斷言(Assertion)
- 斷言是條件判斷器件。斷言為真時, Jmeter 認為采樣器的執行結果為成功,反之亦然。
- 斷言一般情況添加在采樣器上,采樣器執行完畢, Jmeter 會調用采樣器上的斷言,根據斷言中的配置或代碼判斷執行結果為成功還是失敗。
- 以 Response Assertion 為例,選擇包含,並填寫字符串后,若采樣器返回包含字符串的即為成功,反之為失敗。
監聽器(Listener)
- 監聽器用於收集 Jmeter 的運行結果並展示給用戶。
- JMeter 提供的大部分監聽器為統計報告。能夠提供 Sampler 執行結果展示的的只有 view result tree。
- 最常用的監聽器是 Aggregate Report 和 View Result Tree。
Jmeter 安裝
- 本機安裝 JDK1.8+ 版本
- 下載 Jmeter 的安裝包:http://jmeter.apache.org/download_jmeter.cgi
- 下載完成后直接解壓縮即可,無須安裝
- 點擊 bin 目錄下的 jmeter.bat 文件即可啟動 jmeter
Jmeter 啟動方式
JMeter 啟動有多種方式, 進入 JMeter 安裝目錄下的 bin 目錄:
- 雙擊 jmeter.bat
- 雙擊 ApacheJMeter.jar 選擇使用 java 程序打開
- 命令行輸入:java -jar ApacheJMeter.jar
2. JMeter 文件目錄介紹
bin 目錄
存放可執行文件和配置文件。
- jmeter.bat:Windows 的啟動文件
- jmeter.log:日志文件
- jmeter.sh:Linux 的啟動文件
- jmeter.properties:系統配置文件
- jmeter-server.bat:Windows 分布式測試要用到的服務器配置
- jmeter-serve:Linux 分布式測試要用到的服務器配置
docs 目錄
docs 是 JMeter 的 api 文檔, 可打開 api/index.html 頁面來查看。
rintable_docs 目錄
printable_docs 的 usermanual 子目錄下的內容是 JMeter 的用戶手冊文檔
usermanual 下 component_reference.html 是最常用到的核心元件幫助文檔。
提示:printable_docs 的 demos 子目錄下有一些常用的 JMeter 腳本案例, 可以作為參考。
lib 目錄
該目錄用來存放 JMeter 依賴的 jar 包和用戶擴展所依賴的 jar 包。
3. Jmeter 修改默認配置
漢化配置
實現 JMeter 界面的漢化包含兩種方式:
1)臨時性
- 啟動JMeter -> 選擇菜單“Options” -> Choose Language -> Chinese (Simplified)
2)永久性
- 找到 Jmeter 安裝目錄下的 bin 目錄;
- 打開 jmeter.properties 文件, 把第 37 行修改為“language=zh_CN”;
- 重啟 JMeter 即可。
修改主題
JMeter 默認主題是黑色的, 可以通過以下步驟修改:
- 啟動 JMeter -> 選擇菜單“選項” -> 外觀 -> Windows(選擇自己喜歡的主題即可)