關於Jmeter性能測試工具不再過多介紹。如果你要學習軟件性能測試,那么多少應該會對它有所耳聞。
強烈建議閱讀官方文檔學習:http://jmeter.apache.org/index.html
還有比這個更權威更全面的介紹Jmeter工具使用的么?
不過,此處要介紹是用它來做接口測試。
一、安裝Jmeter
Jmeter官方首頁:http://jmeter.apache.org/
關於Jmeter可以做什么,官方上也有非常詳細的介紹。另外它的文檔也寫很詳細。如果想學習Jmeter,那么它的文檔將會是最好的教材。
我相信你可以在官網上找到下載地址並把它下載下來。
Jmeter由Java語言開發,最新的Jmeter3.0版本的運行需要有Java 7 或之后版本的環境。我同樣相信你能搞定Java環境。
接下來,將下載的apache-jmeter-3.0.zip解壓,進入解壓目錄.../apache-jmeter-3.0/bin 。雙擊ApacheJMeter.jar啟動:
二、添加HTTP接口測試
我們的所以工具都會在Jmeter工具中完成,接來就按照一般步驟來創建一個HTTP接口測試。
如上圖,右鍵點擊“測試計划”-->“添加”-->“Threads(Users)”-->“線程組”。
如上圖,設置線程組,線程組主要包含三個參數:線程數、准備時長(Ramp-Up Period(in seconds))、循環次數。
線程數:虛擬用戶數。一個虛擬用戶占用一個進程或線程。設置多少虛擬用戶數在這里也就是設置多少個線程數。
准備時長: 設置的虛擬用戶數全部啟動的時長。如果線程數為20 ,准備時長為10(秒) ,那么需要10秒鍾啟動20個線程。也就是平均每秒啟動2個線程。
循環次數:每個線程發送請求的個數。如果線程數為20 ,循環次數為100 ,那么每個線程發送100次請求。總請求數為20*100=2000 。如果勾選了“永遠”,那么所有線程會一直發送請求,直到手動點擊工具欄上的停止按鈕,或者設置的線程時間結束。
因為這里要做接口測試,所以各個參數為均1。
如上圖,右鍵點擊“線程組”-->“添加”-->“Sampler”-->“HTTP請求”。
名稱:本屬性用於標識一個取樣器,建議使用一個有意義的名稱。
注釋:對於測試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。
服務器名稱或IP :HTTP請求發送的目標服務器名稱或IP地址。
端口號:目標服務器的端口號,默認值為80 。
協議:向目標服務器發送HTTP請求時的協議,可以是HTTP或者是HTTPS ,默認值為http 。
方法:發送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding :內容的編碼方式,默認值為iso8859
路徑:目標URL路徑(不包括服務器地址和端口)
自動重定向:如果選中該選項,當發送HTTP請求后得到的響應是302/301時,JMeter 自動重定向到新的頁面。
Use keep Alive : 當該選項被選中時,jmeter 和目標服務器之間使用 Keep-Alive方式進行HTTP通信,默認選中。
Use multipart/from-data for HTTP POST :當發送HTTP POST 請求時,使用Use multipart/from-data方法發送,默認不選中。
同請求一起發送參數 : 在請求中發送URL參數,對於帶參數的URL ,jmeter提供了一個簡單的對參數化的方法。用戶可以將URL中所有參數設置在本表中,表中的每一行是一個參數值對(對應RUL中的 名稱1=值1)。
如上圖,右鍵點擊“線程組”-->“添加”-->“監聽器”-->“察看結果樹”。
三、添加新的POST請求
POST請求的添加方式與前面GET請求一樣。不過POST請求需要設置參數。
服務器名稱或IP: 127.0.0.1
端口號:8000
方法:POST
路徑:/polls/question_vote/
同請求一起發送參數:
點擊“添加”按鈕,添加POST請求的參數。
名稱: |
值 |
qid |
1 |
cid |
1 |
執行測試:
選擇菜單欄“運行”-->“清除”,或者點擊工具欄清除按鈕。然后重新執行啟動測試。並查看結果樹。
四、添加斷言
對於自動化測試來說,斷言必須要有的,如果沒有斷言我們只能人眼對比對接口返回的數據,有了斷言功能,就會簡化這個過程。Jmeter提供了豐富的斷言方法來幫助我們完成這個工作。
如上圖,右鍵點擊HTTP請求“添加”-->“斷言”-->“響應斷言”。
要測試的響應字段:響應文本、Document(text)、URL樣本、響應信息、Response Headers、Lgnore Staus等選項。雖然接口返回的是Json格式的數據,但對於Jmeter來說返回數據為文本,所以,這里可以勾選“響應文本”
模式匹配規則:包括、匹配、Equals、Substring。這里只需要驗證返回數據中是否包含主要的關鍵字,所以,這里勾選“包括”。
要測試的模式:其實就是斷言的數據。點擊“添加”按鈕,輸入要斷言的數據。
運行測試:
再次清除測試數據,點擊啟動測試,查看結果樹,如下圖。
=====================
接口測試就是這么簡單!