JMeter循環讀取CSV文件實現接口批量測試


首先要理解為什么要進行批量測試,當我們在工作中進行接口測試時,項目的接口肯定不止一個,而是很多很多,而且每個接口都需要進行正確參數,錯誤參數,參數為空,特殊字符等方式來測試接口是否能夠正確返回所需的響應值。

 

在編寫腳本之前可以先漢化JMeter,找到JMeter解壓/安裝路徑下的JMeter.properties,用編輯器打開(右鍵用記事本打開也可以):找到  #language=en  ,在下面添加:language=zh_CN 並重啟JMeter

 

那么我們該如何通過JMeter來完成批量測試呢? 我們先建立一個較為簡單的方式進行測試腳本觀察一下。

 

以去獲取創建訂單時的【省/市/區信息】接口:api.test.XXXXXX.com/api/XXXX/XXXX/getAddress 請求方法:post 請求參數:type,code為例

 

1、添加線程組

測試計划右鍵選擇添加——線程用戶——線程組。

Setup線程組:用於執行預測試操作

tearDown:用於執行測試后操作

線程組:一般測試接口時添加的線程,可以把它看做一個虛擬的用戶組,線程組中的每一個線程都可以理解為一個虛擬用戶

 

2、添加HTTP信息頭管理器。

線程組右鍵選擇添加——配置元件——HTTP信息頭管理器

如果接口信息頭定義了值的話,需要放到信息頭管理器里面,例如:用戶token,公共參數等。

 

3、添加HTTP請求

線程組右鍵添加——取樣器——HTTP請求

協議:默認HTTP協議,可不填寫,若為HTTPS協議需要填寫HTTPS。

服務器名稱或IP:填寫接口域名

端口號:默認HTTPS請求的80,若為HTTPS請求需要填寫443

方法:直接選擇接口的請求方法:GET,POST,PUT,DELETE即可。

路徑:填寫接口的具體路徑

參數:點擊下方導航欄添加按鈕,在已經添加的數據欄填寫參數名,參數值。

 

4、添加察看結果樹

線程組右鍵添加——監聽器——察看結果樹

左邊:展示請求名,綠色請求結果表示請求成功,紅色請求結果表示請求失敗。

右邊:展示請求值,包括取樣器結果,請求頭,請求體,響應頭,響應體。

 

以上步驟能夠確保接口正確的進行訪問並返回對應的返回值。

完成以上步驟后,下一步就是要把上面步驟的所有的值以參數的形式傳遞給JMeter腳本,使我們能夠以參數化的形式對接口進行批量測試。  

5、添加循環控制器

線程組右鍵添加——邏輯控制器——循環控制器,循環控制器添加后需要把【HTTP信息頭管理器】【HTTP請求】移到【循環控制器下】

循環次數:運行腳本后循環控制器下的HTTP請求將執行的次數。例如:循環控制器的計數為1,則發送HTTP請求1次;計數為5,則發送HTTP請求5次。設置為永遠則需要手動停止請求,否則不會停止請求。

 

6、在循環控制器下添加CSV配置文件

循環控制器右鍵添加——配置元件——CSV數據文件設置,CSV文件里面定義接口所需要動態取值的參數,例如:URL,路徑,請求方法,接口參數等。

a)如何創建CSV文件?電腦桌面新建TXT文檔,更名為:測試參數文檔.CSV(TXT后綴需要變更為CSV),打開CSV文件新增數據。

b)文件內參數如何書寫?第一行定義接口所需動態參數,自第二行起填寫接口詳細值。

caseSeq:定義接口序號

apiSeq:每個接口序列

         apiName:接口名稱

         url:接口域名

         api:接口地址

         function:接口請求方法

         purpose:描述接口驗證類型

         parameter:接口所需參數拼接,以:“code=500000&type=city”的形式,參數間以“&”連接

 

c)csv數據文件如何設置

文件名:點擊瀏覽后選擇本地的CSV文件

文件編碼:一般情況下無需設置

變量名稱:“caseSeq,apiSeq,apiName,url,api,function,purpose,parameter”,參數之間需要用英文的逗號隔開,注意參數不要寫錯。

忽略首行:True則不執行CSV文件的首行,False則執行CSV文件首行。

分隔符:英文逗號,無需變更

是否允許帶引號:設置True和False以當前CSV文件都能正常執行

遇到文件結束符再次循環:True則在設置的循環次數內一直循環,False則CSV文件所有數據循環一次后就停止。

遇到文件結束符停止線程:True則在設置的循環次數內執行到CSV文件數據為空時停止發送HTTP請求,False則在設置的循環次數內執行到CSV文件數據為空時繼續執行。

線程共享模式:選擇所有現場即可

綜上:本次CSV文件設置時:循環次數“永遠”,忽略首行“True”,是否允許帶引號“False”,遇到文件結束符再次循環“False”,遇到文件結束符停止線程“True”,線程共享模式“所有現場”

 

7、其他配置文件需要修改寫入形式

HTTP信息頭管理器:除必要參數外,添加:“Content-Type=application/x-www-form-urlencoded”,使用Json參數需要用到

HTTP請求:名稱設置為:“${caseSeq}_${apiSeq}_${apiName}”動態取CSV文件里面配置的參數信息;IP:“${url}”;方法:“${function}”;路徑:“${api}”,消息體數據:“${parameter}”消息體數據和參數只能設置一種,不能兩種同時設置。

 

8、執行CSV文件,查看結果

可以看到左邊能夠很清晰的反應接口執行的信息,右邊可以很明確的反應接口返回的數據。並且CSV文件內可以設置眾多接口的不同驗證方式,很方便且很適合日常工作使用。希望以上內容能給大家提供幫助,謝謝。

 

 備注:轉載請注明出處,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM