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