一 Jmeter 介紹
Jmeter由Apache公司開源的一個純java壓力測試工具,其應用范圍非常廣泛,一般我們用於高並發,分布式限流等數據量大的情況下,對接口進行壓力測試;
jmeter的特點如下
- Jmeter 可移植性高,能夠跨平台使用;
- Jmeter 可實現分布式負載。
- Jmeter 可實現多線程測試;
- Jmeter 高擴展性較高。
jmeter下載地址:
http://jmeter.apache.org/download_jmeter.cgi
運行環境要求 : JDK8
二 Jmeter運行模式介紹
下載完成后打開安裝目錄下的bin目錄
常用的運行模式如下
- jmeter.bat:運行Jmeter 為GUI窗口;
- jmeterw.cmd:運行jmeter為GUI窗口,沒有window shell 控制台輸出;
所以啟動的命令不同,出現的窗口數量也不同;一般情況下沒必要開啟windos控制台,輸出的都是一些日志情況;
其它模式如下:
- jmeter-n.cmd: 放置JMX 文件運行CLI模式測試
- jmeter-n-r.cmd:放置JMX 文件運行CLI模式遠程測試
- jmeter-t.cmd:放置JMX 文件在GUI模式加載
- jmeter-server.bat:開啟server模式
- mirror-server.cmd:在CLI模式下運行JMeter Mirror Server
關閉模式如下
- shutdown.cmd:優雅關閉
- stoptest.cmd:粗暴關閉
雙擊 jmeterw.cmd 運行jmeter 界面如下
三語言選擇
選中語言為中文簡體
Jmeter菜單欄選擇Optionsà-->Choose Languageà --> Chinese (Simplified)
選擇中文簡體后界面如下
四 Jmeter測試流程
jemter的元件如下
簡單的測試流程如下
1.測試計划
2.線程組
3.HTTP Cookie管理器
4.Http請求默認值
5.Sampler(HTTP請求)
6.斷言
7.監聽器(查看結果樹、圖形結果、聚合報告等)
五 詳細測試示例
5.1添加線程組
右鍵點擊Test Plan->添加->線程(用戶)->線程組
選擇線程數量,和循環次數;知識追尋者這邊選擇值分別為 5和2,即一共發送10個請求;
5.2 添加HTTP Cookie管理器
右鍵線程組->添加->配置元件->HTTP Cookie管理器
HTTP Cookie管理器可以像瀏覽器一樣存儲和發送cookie,如果你要發送一個帶cookie的http請求,cookie manager會自動存儲該請求的cookies,並且后面如果發送同源站點的http請求時,都可以用這個cookies
5.3HTTP請求默認值
右鍵線程組->添加->配置元件->HTTP請求默認值
主要是填寫 IP 和端口號,默認前綴路徑,后面的請求就不需要再次寫入;
配置ip和端口號如圖
5.4 添加HTTP請求
配置相關的ip,端口,路徑等
5.5 添加斷言
右鍵HTTP請求->添加->斷言->響應斷言
檢查接口是否訪問成功
5.6 添加監聽器
1、查看結果樹:打開察看結果樹,綠色代表測試通過,紅色代表測試失敗。在此我們可以看到詳細的請求頭、響應時間、請求參數和返回結果;方便我們進行接口調試
2、查看圖像結果:圖像界面曲線分析;
3、查看聚合報告:
Label:每個 JMeter 的 請求都有一個 Name 屬性,這里顯示的就是 Name 屬性的值
Samples:表示本次測試中一共發出了多少個請求
Average:平均響應時間
Median:也就是 50% 用戶的響應時間
90%Line:90% 用戶的響應時間
Min:最小響應時間
Max:最大響應時間
Error%:本次測試中出現錯誤的請求的數量/請求的總數
Throughput:吞吐量——默認情況下表示每秒完成的請求數
KB/Sec:每秒從服務器端接收到的數據量,相當於LoadRunner中的Throughput/Sec
5.7 運行結果
點擊菜單欄的綠色 三角形按鈕運行Jmeter
測試響應結果如圖
聚合報告如下
因為請求模擬的線程數量太少,圖像顯示不佳,圖像如下
5.7 正則表達式測試說明
以上進行的是單接口測試,當進行多個接口測試的時候可以使用正則表達式進行測試;
關注公眾號:回復 拍拍知識追尋者,領取面試資料和原創PDF教程;