天天看點

使用Jmeter進行http接口測試

前言:

  本文主要針對http接口進行測試,使用Jmeter工具實作。

  Jmter工具設計之初是用于做性能測試的,它在實作對各種接口的調用方面已經做的比較成熟,是以,本次直接使用Jmeter工具來完成對Http接口的測試。

一、開發接口測試案例的整體方案:

第一步:我們要分析出測試需求,并拿到開發提供的接口說明文檔;

第二步:從接口說明文檔中整理出接口測試案例,裡面要包括詳細的入參和出參資料以及明确的格式和檢查點。

第三步:和開發一起對接口測試案例進行評審。

第四步:結合開發庫,準備接口測試案例中的入參資料和出參資料,并整理成csv格式的檔案。

第五步:結合接口測試案例文檔和csv格式的資料文檔,做接口測試案例的自動化案例開發。

二、接口自動化适用場景:

 目前設計的自動化接口測試案例有兩個運作場景:

  1. 測試前置、開發自測:一個新的自動化接口測試案例開發完成後,直接發給接口對應的開發,安排在開發本地環境執行,一旦開發确認完成接口開發,就開始執行接口測試案例,基本上可以實時拿到測試結果,友善開發快速做出判斷。【開發本地運作的方式就是打開JMeter工具,導入JMX檔案,開始執行可。】

  2. 回歸測試:開發本地測試通過後,或整個需求手工測試通過後,把自動化的接口測試案例做分類整理,挑選出需要納入到回歸測試中的案例,在持續內建環境重新準備測試資料,并把案例納入到持續內建的job中來,這些用于回歸的接口測試案例需要配置到持續內建平台自動運作。

三、接口測試環境準備

四、建立工程:

  1、打開Jmeter:下載下傳好Jmeter後,輕按兩下bin目錄下的jmeter.bat檔案:

  

使用Jmeter進行http接口測試

  2、添加線程組:在“測試計劃”上點選滑鼠右鍵-->添加-->threads(Users)-->線程組,添加測試場景設定元件,接口測試中一般設定為1個“線程數”,根據測試資料的個數設定“循環次數”。

使用Jmeter進行http接口測試

  3、添加“HTTP Cookie管理器”:

使用Jmeter進行http接口測試

  4、添加“Http請求預設值”元件,當被測系統有唯一的通路域名和端口時,這個元件很好用:

使用Jmeter進行http接口測試

  5、在“HTTP 請求預設值”元件配置頁面,填寫被測系統的域名和端口,http請求的實作包版本以及具體協定類型,線程組裡的所有“HTTP Sampler”可預設使用此設定。

   

使用Jmeter進行http接口測試

  6、在“線程組”裡添加“HTTP 請求”的Sampler

使用Jmeter進行http接口測試

   7、在HTTP請求設定頁面,錄入被測接口的詳細資訊,包括請求路徑,對應的請求方法,以及随請求一起發送的參數清單:

使用Jmeter進行http接口測試

  8、設定檢查點:在被測接口對應的“HTTP 請求”上,添加“響應斷言”

使用Jmeter進行http接口測試

  9、在設定頁面上添加對相應結果的正規表達式存在性判斷即可:

使用Jmeter進行http接口測試

  10、添加監聽器:友善檢視運作後的結果

使用Jmeter進行http接口測試

   運作結果:

使用Jmeter進行http接口測試

  上述步驟完成了一個簡單測試案例的建立,複雜測試案例均在此基礎上擴充完成。使用Jmeter工具開發的接口測試案例,一個子系統建議放在同一個 “測試計劃”中,流程測試可以通過“線程組”來區分,這樣也便于設定不同的測試資料個數。比較獨立的接口,可以統一放在一個線程組内,順序完成測試。  

  流程性接口的測試:如果要測試的接口可以組成一個流程,隻需要順序添加多個“HTTP 請求”的Sampler,各請求之間可以提取需要在上下文傳遞的資料作為參數,以保證流程中資料的一緻性。