Jmeter使用csv參數化Json數據

參考:JMeter 壓力測試使用函數和 CSV 文件參數化 json 數據http://blog.csdn.net/defonds/article/details/40824011


結合自己的實踐經驗重新整理如下:

說明:筆者使用的是Jmeter 3.0,本文主要是介紹如何使用JMeter的提交 json,以及將其參數化。示例的http請求只是用於驗證提交json是否成功,是否成功參數化,並不是真實有效的請求。

1、先準備一個csv文件,我這裏只是簡單地寫了一個,兩列數據,並將文件放到E盤的根目錄中,

然後在Jmeter中添加一個CSV Data Set Config (在配置元件中),將文件的絕對路徑+文件名稱+後綴填入,所以我填入E:\1233.csv到“Filename”中,併爲csv文件的列定義一個變量名,我這裏定義爲Num、Letter,注意變量名之間使用英文狀態下的逗號進行隔開。

wKioL1f9D6eAdhyKAAHby2_DGAE600.png


2、

(1)添加http sampler,並設置爲post請求,

(2)打開Body Data頁,設置Json格式,並參數化,使用 ${變量名}。

(3)參數化時,可以直接設置

{

"number":"${Num}",

"letter":"${Letter}"

}

也可以加上一些常量進行組合,如

{

"number":"我是數字${Num}",

"letter":"我是字母${Letter}"

}

wKiom1f9D3bRz6_xAAEa4L8Bdaw512.png


3、設置線程組的併發數量等參數,

(1)我剛剛準備的文件一共14條數據,我這裏設置一共發送16次請求,

(2)添加“察看結果樹”(在監聽器裏),然後點擊運行按鈕,查看請求信息,

wKiom1f9D1HjLMfyAAEGR4fV2n0381.png


4、通過結果樹,我們發現Jmeter發送的postData已經成功讀取csv文件的數據,併成功參數化。


5、在本次測試中發現,當請求數大於數據源數量時,Jmeter會自動循環讀取數據,本次測試的第15請求就是讀取的第一行的數據。

wKioL1f9DuHibPvcAACJLP3vnng606.png


這是因爲在csv配置中,設置了 recycle on EOF 爲true;stop thread on EOF爲false,

當Jmeter讀完了一輪數據時,還有線程待運行,那麼線程會循環讀取csv的數據。

EOF:end of file;

wKiom1gC9E_ASW_-AACC2ja8428200.png


其他問題

1、步驟中還可“爲該採樣器添加 HTTP 信息管理器”,此功能是爲了通過服務器的Json類型合法性校驗。
        操作步驟如下:鼠標右擊該採樣器,右鍵菜單選擇 "添加" -> 配置元件 -> HTTP 信息頭管理器,然後信息頭添加一條名稱爲Content-Type,值爲 application/json即可:

wKioL1f9DrqxuLFnAADOGRiK_Ng436.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章