本次測試的接口採用內網中的通信錄查詢接口進行測試,接口參數以下:html
下載好Jmeter後,雙擊bin目錄下的jmeter.bat文件:正則表達式
在「測試計劃」上鼠標右鍵添加-->threads(Users)-->線程組,添加測試場景設置組件,接口測試中通常設置爲1個「線程數」,根據測試數據的個數設定「循環次數」服務器
組件,在上步的線程組上右鍵添加-->配置元件-->HTTP請求默認值post
當全部的接口測試的訪問域名和端口都同樣時,可使用該元件,一旦服務器地址變動,只須要修改請求默認值便可。學習
在「線程組」右鍵-->添加-->samlper-->「HTTP 請求」測試
在HTTP請求設置頁面,錄入被測接口的詳細信息,包括請求路徑,對應的請求方法,以及隨請求一塊兒發送的參數列表,配置以下:url
在「線程組」右鍵-->添加-->監聽器->查看結果樹、用表格查看結果、Summary Report三種結果的報告展現線程
點擊運行後,便可看到運行結果,結果以下:htm
從上述結果返回能夠看出,使用【xx】測試,返回的結果有兩個,另外在返回數據展現方面,除了上述默認的Text形式外,還能夠選擇HTML形式,更直觀,以下:blog
另外的表格查看結果,選取一個展現,以下
在實際測試中,不可能查詢值測試一個輸入值,還有其餘測試數據,故引入參數化的概念,讓一條用例循環執行,直到全部測試數據均測試完成,以下示例:
Jmeter參數化有4種方法,本例僅介紹最廣泛及簡單的1個方法,csv文件導入配置
一、準備參數文件
二、配置CSV數據設置配置項:在線程組右鍵添加-->配置元件-->CSV Data Set Config
三、修改3.2.4中構造的HTTP請求:username修改成參數,從csv文件中引用
四、修改測試計劃,使得腳本重複
五、運行後,便可看到結果以下:
上述結果,永遠都會執行正確,只要請求發送成功,並無對返回結果進行斷言判斷,本例介紹斷言設置
一、正則表達式提取內容:從響應內容中提取內容與文件提取內容進行對比,本例採用對比的結果爲:員工號
在通信錄查詢的HTTP請求上右鍵添加-->後置處理器-->正則表達式提取器,配置以下:
關於正則表達式的規則,請自行查找文檔學習,此處提取返回聶榮的員工號後,以test參數引用。
二、增長斷言:以提取的員工號test和csv文件中讀取的員工號進行對比,判斷結果是否正確
在通信錄查詢的HTTP請求上右鍵添加-->斷言-->響應斷言,配置以下:
在線程組右鍵添加-->sampler-->Debug Sampler:用於查看正則表達式提取的內容
三、運行後,查看結果
發現第二條參數用例執行結果失敗,展開後,查看響應斷言的詳細信息,發現test並不匹配T123451,也就是說第二個測試人員的員工號不是T123451。
接下來咱們查看詳細的響應數據,看看問題到底在哪裏
從上圖能夠看出,第二個測試人員的員工號爲T12345,而不是T123451,因此斷言不經過。
其實,此錯誤是csv文檔中故意設置錯誤的,以驗證斷言的正確性。