Jmeter 接口自動化-腳本數據分離實例


一、csvRead函數使用:

csvRead函數是從外部讀取參數,可以從一個文件中讀取多個參數。 
使用步驟:
1)、先新建一個文件,例如test.csv(或test.txt),里面的數據存放為

names,jobs
王某某,tester

文件為用戶名和密碼,用逗號隔開,每一列表示一種參數,每一行則表示一組參數。

 

2)、選項-》函數助手對話框-》函數助手,打開Jmeter的函數助手,選擇csvRead函數:

點擊生成按鈕后生成:${__CSVRead(C:\Users\kayven\Desktop,0)},引用該文本數據時使用引用符"${}",例如這里設定的文件名叫"test.txt(或test.csv)"那么我們使用"${test.txt(或test.csv)}"來引用到需要傳值的地方即可。

注:
CSV file to get values from | *alias:要讀取的文件路徑,為絕對路徑 
CSV文件列號| next| *alias:從第幾列開始讀取,注意第一列是0

即${__CSVRead(C:\Users\kayven\Desktop,0)} 取到的值為:names
即${__CSVRead(C:\Users\kayven\Desktop,1)} 取到的值為:jobs

 

3)、Jmeter執行的時候,如果有多個線程,順序讀取每行的數據,如果線程組多於文件中的行數,則循環讀取。

如:線程數為2,則第2個線程讀取的是第二行的數據,線程數為3,線程數3大於文件中的行數2,則第3個線程讀取的是第一行的數據。

注意:這一函數並不適合於讀取很大的文件,因為整個文件都會被存儲到內存之中。對於較大的文件,請使用配置元件CSV Data Set或者StringFromFile 。但是我們不是壓測,只是接口自動化,一般沒有太大的數據文件。

 

默認情況下,函數會在遇到的每一個逗號處斷行,需要換一個分隔符(通過設置屬性csvread.delimiter來實現)
修改jmeter.properties文件(在jmeter的bin目錄下,搜索該文件並使用編輯器打開):

#csvread.delimiter=,
修改為
csvread.delimiter=?

 

注意:修改完后要保存,並將#注釋符去掉,否則修改后會發現無效。修改完成重啟jmeter才能生效哦。

 

 

 

二、接口實際操作:

(准備數據中。。。)

1.獲取token:post方法請求:/console/passport/login 

入參:

{

"username":"names"

"password":"jobs"

}

返回值:

{

"data":{"access_token":"9ak1m12ra-43-1231-ac49-231asd21eserty5664532fsdf"}

"error":0

}

2·使用token的接口/useToken,主要是測試useToken接口,useToken接口的token需要從/console/passport/login 接口的返回值中取,其實就是參數關聯。

入參:
{
"access_token":"${token}",
"user_id":"1"
}
返回值,以3個場景為例:
{"code":"200","Msg":"請求成功"}

{"code":"1001","Msg":"token不能為空"}

{"code":"4002","Msg":"token已失效或不存在"}

對於接口的斷言,我們默認"code":"200"即接口業務正常返回,1001,4002代表接口針對業務的不同異常給予的返回,當然也在我們的接口測試范圍內。

 


免責聲明!

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



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