一、安裝Jmeter                                                         

  Jmeter官方首頁:http://jmeter.apache.org/

  關(guān)于Jmeter可以做什么,官方上也有非常詳細的介紹。另外它的文檔也寫很詳細。如果想學習Jmeter,那么它的文檔將會是最好的教材。

  我相信你可以在官網(wǎng)上找到下載地址并把它下載下來。

  JmeterJava語言開發(fā),最新的Jmeter3.0版本的運行需要有Java 7 或之后版本的環(huán)境。我同樣相信你能搞定Java環(huán)境。

  接下來,將下載的apache-jmeter-3.0.zip解壓,進入解壓目錄.../apache-jmeter-3.0/bin 。雙擊ApacheJMeter.jar啟動

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

 

、添加HTTP接口測試               

  我們的所以工具都會在Jmeter工具中完成,接來就按照一般步驟來創(chuàng)建一個HTTP接口測試。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  如上圖,右鍵點擊“測試計劃”-->“添加”-->Threads(Users)-->“線程組”。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  如上圖,設置線程組,線程組主要包含三個參數(shù):線程數(shù)、準備時長(Ramp-Up Period(in seconds))、循環(huán)次數(shù)。

  線程數(shù):虛擬用戶數(shù)。一個虛擬用戶占用一個進程或線程。設置多少虛擬用戶數(shù)在這里也就是設置多少個線程數(shù)。

  準備時長 設置的虛擬用戶數(shù)全部啟動的時長。如果線程數(shù)為20 ,準備時長為10(秒) ,那么需要10秒鐘啟動20個線程。也就是平均每秒啟動2個線程。

  循環(huán)次數(shù):每個線程發(fā)送請求的數(shù)。如果線程數(shù)為20 ,循環(huán)次數(shù)為100 ,那么每個線程發(fā)送100次請求??傉埱髷?shù)為20*100=2000 。如果勾選了永遠,那么所有線程會一直發(fā)送請求,手動點擊工具欄上的停止按鈕,或者設置的線程時間結(jié)束。

  因為這里要做接口測試,所以各個參數(shù)為均1。 

  

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  如上圖,右鍵點擊“線程組”-->“添加”-->Sampler-->HTTP請求”。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  名稱:本屬性用于標識一個取樣器,建議使用一個有意義的名稱。

  注釋:對于測試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。

  服務器名稱或IP HTTP請求發(fā)送的目標服務器名稱或IP地址。

  端口號:目標服務器的端口號,默認值為80 。

  協(xié)議:向目標服務器發(fā)送HTTP請求時的協(xié)議,可以是HTTP或者是HTTPS ,默認值為http 。

  方法:發(fā)送HTTP請求的方法,可用方法包括GET、POST、HEADPUT、OPTIONS、TRACE、DELETE等。

  Content encoding :內(nèi)容的編碼方式,默認值為iso8859

  路徑:目標URL路徑(不包括服務器地址和端口)

  自動重定向:如果選中該選項,當發(fā)送HTTP請求后得到的響應是302/301時,JMeter 自動重定向到新的頁面。

  Use keep Alive  當該選項被選中時,jmeter 和目標服務器之間使用 Keep-Alive方式進行HTTP通信,默認選中。

  Use multipart/from-data for HTTP POST :當發(fā)送HTTP POST 請求時,使用Use multipart/from-data方法發(fā)送,默認不選中。

  同請求一起發(fā)送參數(shù)  在請求中發(fā)送URL參數(shù),對于帶參數(shù)的URL ,jmeter提供了一個簡單的對參數(shù)化的方法。用戶可以將URL中所有參數(shù)設置在本表中,表中的每一行是一個參數(shù)值對(對應RUL中的 名稱1=1)。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

 

  如上圖,右鍵點擊“線程組”-->“添加”-->“監(jiān)聽器”-->“察看結(jié)果樹”。

 iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

 

 

三、添加新的POST請求               

  POST請求的添加方式與前面GET請求一樣。不過POST請求需要設置參數(shù)。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  服務器名稱或IP: 127.0.0.1

  端口號:8000

  方法:POST

  路徑:/polls/question_vote/

  同請求一起發(fā)送參數(shù):

  點擊“添加”按鈕,添加POST請求的參數(shù)。

名稱:

qid

1

cid

1

  執(zhí)行測試:

  選擇菜單欄“運行”-->“清除”,或者點擊工具欄清除按鈕。然后重新執(zhí)行啟動測試。并查看結(jié)果樹。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

 

 

四、添加斷言                                      

  對于自動化測試來說,斷言必須要有的,如果沒有斷言我們只能人眼對比對接口返回的數(shù)據(jù),有了斷言功能,就會簡化這個過程。Jmeter提供了豐富的斷言方法來幫助我們完成這個工作。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  如上圖,右鍵點擊HTTP請求“添加”-->“斷言”-->“響應斷言”。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  要測試的響應字段:響應文本、Document(text)URL樣本、響應信息、Response Headers、Lgnore Staus等選項。雖然接口返回的是Json格式的數(shù)據(jù),但對于Jmeter來說返回數(shù)據(jù)為文本,所以,這里可以勾選“響應文本”

  模式匹配規(guī)則:包括、匹配、Equals、Substring。這里只需要驗證返回數(shù)據(jù)中是否包含主要的關(guān)鍵字,所以,這里勾選“包括”。

  要測試的模式:其實就是斷言的數(shù)據(jù)。點擊“添加”按鈕,輸入要斷言的數(shù)據(jù)。

  運行測試:

  再次清除測試數(shù)據(jù),點擊啟動測試,查看結(jié)果樹,如下圖。

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

 

 =====================

    接口測試就是這么簡單!