今天,這章節我們主要來學習JMeter參數化__CSVRead().
配置項:
使用文件別名:
若文件路徑較長,可以考慮使用文件別名來簡化書寫。使用方法爲:
首先,在第一次使用參數前定義文件別名;以後,在調用函數獲取數據
時都可以使用別名代替文件名,下面是使用別名的例子:
從不同數據文件讀取數據:
可以設置不同的線程讀取不同的數據文件。
假設有n個線程,準備對應好的n個csv文件: testdata1.csv,
testdata2.csv,... ,testdatan.csv
線程1讀取testdata1.csv中的數據,線程2讀取testdata2.csv中
的數據,...
使用${threadNum}獲取線程編號,再與文件名前後綴拼接形成動態
的文件路徑作爲CSVRead函數的第一個參數:
${CSVRead(./testdata${__threadNum}.csv,0)}
舉例說明:
這裏以前面介紹過的查詢被購買的商品總金額接口爲例。
參數化步驟:
1、確定接口參數中哪些請求參數需要進行參數化在設計測試用例時,我們針對商品編號,商品規格,商品數量來準備數據,故對id,attr,number參數化
2、將測試數據放在外部一個文檔保存,文件類型爲csv或txt -->
.csv or .txt
新建一個testdata.csv,一行寫一個用例,多個參數值默認用,分隔(注意不要寫列標題):
case1,9,226,3
case2,,226,1
case3,9,,1
case4,9,226,
3、調用__CSVRead()函數獲取外部數據文件中的數據
Tools-->Function Helper Dialog,打開“Function
Helper”,在“Choose a function”中選擇“__CSVRead”。
填入參數值後,點擊“Generate & Copy to Clipboard”,生成函數調用語句:
取列值:
id:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,1
)}
attr:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,2
)}
number:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,3
)}
換行:
${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,n
ext)}
4、在請求中將寫死的數據用第3步中定義的變量進行替換
data --> ${varName}
比如 ${attr}
5、配置參數化
5.1 將線程數設置爲用例的個數
5.2 循環控制請求的次數
添加一個循環控制器,設置其循環次數爲測試用例個數。