前言
一般來說谚咬,我們使用Jmeter來模擬HTTP請求時,比如模擬查詢學(xué)生信息派殷,我們通常把查詢接口的入?yún)ⅲㄈ鐚W(xué)生姓名)寫在HTTP請求中肢娘。當(dāng)只需要查詢1個學(xué)生的信息時,我們可以把這名學(xué)生的姓名準(zhǔn)確的寫到入?yún)⒅兴担偃缧枰来稳ゲ?0個學(xué)生的信息時渊胸,我們需要怎么做呢?
我們也可以再添加9個請求台妆,這就可以查詢10個學(xué)生的信息翎猛,但很明顯胖翰,這種方法用起來太死板了,當(dāng)我們要查詢100個學(xué)生信息時切厘,我們不可能在一個線程組中建100個請求去模擬查詢萨咳。
我們注意到,這10個請求入?yún)⒁吒澹藢W(xué)生姓名培他,其他的設(shè)置都是一致的。因此遗座,最好的辦法是參數(shù)化靶壮。在HTTP請求中,我們不要把請求入?yún)⒅祵懰懒嗽逼迹褜W(xué)生姓名當(dāng)成變量腾降,這樣不管每次傳入什么值,我們都可以只用1個請求來處理碎绎。
Jmeter參數(shù)化
接下來螃壤,我們主要學(xué)習(xí)下Jmeter的參數(shù)化--CSV Data Set Config(CSV 數(shù)據(jù)文件設(shè)置)。
- 1筋帖、準(zhǔn)備數(shù)據(jù)文件
我們要測試的接口及接口文檔來自網(wǎng)上項(xiàng)目:http://doc.nnzhp.cn/index.php?s=/6&page_id=12奸晴,我們通過下面2個接口來學(xué)習(xí)Jmeter參數(shù)化。
查詢學(xué)生信息接口:http://api.nnzhp.cn/api/user/stu_info
登錄接口:http://api.nnzhp.cn/api/user/login
在這里日麸,我們需要準(zhǔn)備2個txt文件寄啼,如下:
- 2、添加 CSV Data Set Config
首先代箭,建立測試計(jì)劃和添加線程組就不多說了墩划,我們選擇右鍵->添加->配置元件->CSV 數(shù)據(jù)文件設(shè)置,添加后就可以配置其參數(shù)嗡综。
參數(shù)說明
文件名:這里填寫參數(shù)化數(shù)據(jù)文件的路徑乙帮,如D:/文件名。
文件編碼:一般選擇UTF-8
變量名稱:參數(shù)化文件中每列參數(shù)的名稱极景,如果有多列參數(shù)察净,則加上英文逗號間隔(如文件2)
其他的參數(shù)如無特殊需要,我們一般保持默認(rèn)即可盼樟。
- 3氢卡、在請求中引入?yún)?shù)
在引入?yún)?shù)時,我們需要注意晨缴,參數(shù)的名稱必須和上一步驟中設(shè)置的變量名稱一致译秦。
在這里,從接口文檔中了解到,返回參數(shù)中诀浪,當(dāng)錯誤編碼error_code為0表示操作成功,因此設(shè)置了JSON斷言來對結(jié)果進(jìn)行斷言延都。
- 4雷猪、線程組設(shè)置循環(huán)次數(shù)
一般來說,我們的參數(shù)化文件有多少行數(shù)據(jù)晰房,我們就設(shè)置為多少次求摇。在這里,根據(jù)需要設(shè)置循環(huán)次數(shù)為2殊者,每次會讀取文件中的一行數(shù)據(jù)与境。
最后,運(yùn)行猖吴,得到察看結(jié)果樹的情況如下:
可能出現(xiàn)的異常問題:
有時候摔刁,在使用txt文件參數(shù)化時,請求數(shù)據(jù)出現(xiàn)亂碼海蔽,如下:
此時共屈,需檢查CSV數(shù)據(jù)文件設(shè)置中的編碼格式是否為UTF-8,同時確保txt文件的編碼也是UTF-8党窜,最好是新建1個文件拗引,把原文件內(nèi)容直接復(fù)制過去,并保存的文件編碼格式選擇為“UTF-8”幌衣。
如有錯誤矾削,歡迎指出!