1. Jmeter簡介
Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但后來擴展到其他測試領域。
JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。
另外,JMeter能夠對應用程序做功能/回歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。
2. Jmeter的下載和安裝
Jmeter的使用需要java環境,需要先下載安裝jdk;
下載Jmeter工具包,解壓后進入bin文件夾,點擊jmeter.bat即可運行;
可下載插件,擁有更多專業元件。
在http://jmeter-plugins.org/downloads/all/下載JmeterPlugins-Standard-1.1.3.zip,解壓后將JmeterPlugins-Standard.jar放在XXX\Apache\jmeter\lib\ext下即可
3. 接口測試方法
1.什么是接口測試?
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
2.准備數據
獲得測試URL中需要用的參數名稱及值的獲取方式。
獲得各請求的方法、IP、測試URL、測試header、測試body及判斷基准
測試實施
將測試用例中的各項寫入軟件中。
(1)創建線程組
(2)修改線程組名稱
(3)為線程組添加元件
1.HTTP Cookie管理器
因為很多web網站都是需要登錄后才可以進行操作,登錄后產生的Cookie能夠驗證用戶身份,在用軟件進行測試時,需要通過驗證,所以我們需要添加此管理器管理Cookie,它的值被整個線程共享(也可以被整個測試計划共享), Cookie在瀏覽器中取得。
2.HTTP 請求默認值
測試用例中每個接口的共同值可以用“HTTP 請求默認值”元件統計設置,省去每次請求都要填寫的麻煩,它的值被整個線程共享(也可以被整個測試計划共享)。
3.用戶定義的變量
將后續用到的變量添加到“用戶定義的變量”,后續操作只需引用變量名稱即可,它的值被整個線程共享(也可以被整個測試計划共享)。
4.HTTP請求
發送http請求需要用的元件。
5.HTTP信息頭管理器
發送http請求需要加入信息頭時用此元件,如線程組中的所有請求均需要信息頭,則可將此管理器升級為整個線程組共享或者整個測試計划共享。
6.響應斷言
發送請求后,需要通過比對響應結果是夠符合判斷基准來判斷某條測試是否ok,通過人為判斷是可行的,但是當請求數量較大時,人為判斷效率低下,添加“響應斷言” 能夠提高效率(判斷基准有多個時,可以添加多個斷言)。
7.察看結果樹
用於查看測試結果。
8.其他元件
(1)正則表達式提取器
可將某次響應返回數據中某些信息提取出來,用於后續操作。
(2)Debug Sampler
用於調試整個測試
(3)CSV Data Set Config
通過文件進行參數化的一個元件。
(4)開始測試
添加好各種元件及數據后,可進行測試,通過察看結果樹察看各請求測試結果。
4. 壓力測試方法
(1)線程組
(2)Constant Throughput Timer(固定吞吐量控制器)
(3)聚合報告
(4)監聽器
監聽器
jp@gc - Transactions per Second
監聽器
jp@gc –PerfMon Metrics Collector
(5)使用非GUI界面運行壓力測試
非GUI壓力測試步驟:
在GUI界面設置並發數、測試時間等,添加各元件,保存測試計划,並關閉軟件;
使用非GUI界面,用指令啟動壓力測試;
指令例如:D:\Program Files\apache-jmeter-3.1\bin>jmeter -n -t testplan.jmx -l listener.jtl打開jmeter.bat,在聚合報告元件中載入“listener.jtl”,查看聚合報告;
在監視器中中載入“listener.jtl”,查看各曲線圖。