Jmeter使用csv參數化Json數據

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


結合本身的實踐經驗從新整理以下:服務器

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

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

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

wKioL1f9D6eAdhyKAAHby2_DGAE600.png


二、函數

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

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

(3)參數化時,能夠直接設置spa

{.net

"number":"${Num}",

"letter":"${Letter}"

}

也能夠加上一些常量進行組合,如

{

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

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

}

wKiom1f9D3bRz6_xAAEa4L8Bdaw512.png


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

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

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

wKiom1f9D1HjLMfyAAEGR4fV2n0381.png


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


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

wKioL1f9DuHibPvcAACJLP3vnng606.png


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

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

EOF:end of file;

wKiom1gC9E_ASW_-AACC2ja8428200.png


其餘問題

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

wKioL1f9DrqxuLFnAADOGRiK_Ng436.png

相關文章
相關標籤/搜索