傳統的接口測試,都是在接口中手動輸入不同用例准備的多種場景參數數據,一遍一遍的輸入來執行多個不同的用例,但是現在利用excel表格准備各種類型的數據,使用Jmeter中Jmeter CSV Data Set Config參數化實現可設置的、一次性的讀取excel表中多個或者全部用例設計的數據,一次性看到多個用例數據運行出相應的結果。這樣可以避免了每次去更改參數值的煩惱,也減少修改參數出錯的機率。這樣大大減少了測試人員的工作量,並且也提高了接口測試用例的執行效率。Jmeter 讀取excel數據使用的方法是使用Jmeter CSV Data Set Config參數化,使用方法如下:
一、數據准備
准備數據文件,一般以 .csv,.dat 等結尾的文件,數據之間的分隔符可用 ,或者 tab。
其中,將excel文件保存成csv格式后,jmeter讀取后返回的數據總是出現亂碼問題,以下就是解決的辦法:先制作一個excel表格,導出存為.csv格式的文件。讀取txt中的數據也是類似方法。


二.使用CSV Data Set Config參數化將csv里面的數據讀取


以下是CSV Data Set Config各個參數使用說明:


(1)Filename:數據文件的路徑。
(2)Delimiter:數據之間的分隔符可用 ,或者 tab。

(3)Allow Quoated data: 雙引號相關,例:如果參數中需包含,或者”等,該項可以選擇True。
(4)Recycle on EOF: 設置為True后,允許循環取值
(5)Stop Thread EOF: 當Recycle on EOF為false並且Stop Thread EOF 為true,則讀完csv文件中的記錄后,停止運行,線程數及執行次數無效。
(6)Sharing Mode:共享模式:
- All threads:所有線程,所有線程循環取值,線程1取第一行,線程二取下一行。
- Current thread group:當前線程組,各個線程組分別循環取值。
- Current thread:當前線程,該測試計划內的所有線程都取第一行。
三、參數的應用
本實例是以居民端H5的XXXX接口為例,體驗一下Jmeter通過獲取excel中的用例數據運行一堆用例的過程,體驗一下數據驅動的執行方式:
1.先准備測試數據,准備了多條不同的測試用例的數據


2.使用benshell將數據獲得
3.下面是添加一個Debug sampler(里面什么也不用,設置保持默認)
Debug Sampler介紹:
使用Jmeter開發腳本時,難免需要調試,這時可以使用Jmeter的Debug Sampler,它有三個選項:JMeter properties,JMeter variables,System properties:
(1)JMeter properties和System properties:通常都選false,這兩個就是JMeter和系統的屬性,在Jmeter的bin的jmeter.properties中定義,一般都不會變。
(2)JMeter variables:這個是我們自已定義的變量,定義的方式有如下這些:
a) 選中
測試計划(Test plan),在右邊的面板上添加User Defined Variables
b) 選中線程組,右鍵選擇 配置元件( config element)-->User Defined Variables
c) 通過后置處理器生成的變量
d)使用csv參數化的變量
4.添加一個http post接口,傳參需是json格式,因此要先配置http信息頭管理器



5.添加線程組的察看結果樹
根據設置的執行用例數目,比如:100,則執行excel表中相應的100條用例數據,並輸出對應的結果,也可以進行對應的壓測。此時會把excel中准備的數據前100條用例都會執行一遍,如果進行壓測時,則可以把循環的測試次數設置的足夠大,比如:1000,查看聚合報告,就可以看到接口測試壓力測試的情況了很方便。
(1)察看結果樹

(2)聚合報告。對接口遍歷100個用例的壓測,其運行得到的聚合報告圖,如下: