Web介面測試工具--Jmeter

蟲師發表於2016-08-31

  關於Jmeter效能測試工具不再過多介紹。如果你要學習軟體效能測試,那麼多少應該會對它有所耳聞。

  強烈建議閱讀官方文件學習:http://jmeter.apache.org/index.html

     還有比這個更權威更全面的介紹Jmeter工具使用的麼?

     不過,此處要介紹是用它來做介面測試。

 

一、安裝Jmeter                                                         

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

  關於Jmeter可以做什麼,官方上也有非常詳細的介紹。另外它的文件也寫很詳細。如果想學習Jmeter,那麼它的文件將會是最好的教材。

  我相信你可以在官網上找到下載地址並把它下載下來。

  JmeterJava語言開發,最新的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請求的方法,可用方法包括GETPOSTHEADPUTOPTIONSTRACEDELETE等。

  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請求需要設定引數。

  伺服器名稱或IP127.0.0.1

  埠號:8000

  方法:POST

  路徑:/polls/question_vote/

  同請求一起傳送引數:

  點選“新增”按鈕,新增POST請求的引數。

名稱:

qid

1

cid

1

  執行測試:

  選擇選單欄“執行”-->“清除”,或者點選工具欄清除按鈕。然後重新執行啟動測試。並檢視結果樹。

 

 

四、新增斷言                                      

  對於自動化測試來說,斷言必須要有的,如果沒有斷言我們只能人眼對比對介面返回的資料,有了斷言功能,就會簡化這個過程。Jmeter提供了豐富的斷言方法來幫助我們完成這個工作。

  如上圖,右鍵點選HTTP請求“新增”-->“斷言”-->“響應斷言”。

  要測試的響應欄位:響應文字、Document(text)URL樣本、響應資訊、Response HeadersLgnore Staus等選項。雖然介面返回的是Json格式的資料,但對於Jmeter來說返回資料為文字,所以,這裡可以勾選“響應文字”

  模式匹配規則:包括、匹配、EqualsSubstring。這裡只需要驗證返回資料中是否包含主要的關鍵字,所以,這裡勾選“包括”。

  要測試的模式:其實就是斷言的資料。點選“新增”按鈕,輸入要斷言的資料。

  執行測試:

  再次清除測試資料,點選啟動測試,檢視結果樹,如下圖

 

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

    介面測試就是這麼簡單!

 

 

相關文章