前言
一般來說,我們使用Jmeter來模擬HTTP請求時,比如模擬查詢學生信息,我們通常把查詢接口的入參(如學生姓名)寫在HTTP請求中。當只需要查詢1個學生的信息時,我們可以把這名學生的姓名准確的寫到入參中,但假如需要依次去查10個學生的信息時,我們需要怎么做呢?
-
我們也可以再添加9個請求,這就可以查詢10個學生的信息,但很明顯,這種方法用起來太死板了,當我們要查詢100個學生信息時,我們不可能在一個線程組中建100個請求去模擬查詢。
-
我們注意到,這10個請求入參,除了學生姓名,其他的設置都是一致的。因此,最好的辦法是參數化。在HTTP請求中,我們不要把請求入參值寫死了,把學生姓名當成變量,這樣不管每次傳入什么值,我們都可以只用1個請求來處理。
Jmeter參數化
接下來,我們主要學習下Jmeter的參數化--CSV Data Set Config(CSV 數據文件設置)。
- 1、准備數據文件
我們要測試的接口及接口文檔來自網上項目:http://doc.nnzhp.cn/index.php?s=/6&page_id=12 。我們通過下面2個接口來學習Jmeter參數化。
查詢學生信息接口:http://api.nnzhp.cn/api/user/stu_info
登錄接口:http://api.nnzhp.cn/api/user/login
在這里,我們需要准備2個txt文件,如下:
- 2、添加 CSV Data Set Config
首先,建議測試計划和添加線程組就不多說了,我們選擇右鍵->添加->配置元件->CSV 數據文件設置,添加后就可以配置其參數。
參數說明
文件名:這里填寫參數化數據文件的路徑,如D:/文件名。
文件編碼:一般選擇UTF-8
變量名稱:參數化文件中每列參數的名稱,如果有多列參數,則加上英文逗號間隔(如文件2)
其他的參數如無特殊需要,我們一般保持默認即可。
- 3、在請求中引入參數
在引入參數時,我們需要注意,參數的名稱必須和上一步驟中設置的變量名稱一致。
在這里,從接口文檔中了解到,返回參數中,當錯誤編碼error_code為0表示操作成功,因此設置了JSON斷言來對結果進行斷言。
- 4、線程組設置循環次數
一般來說,我們的參數化文件有多少行數據,我們就設置為多少次。在這里,根據需要設置循環次數為2,每次會讀取文件中的一行數據。
最后,運行,得到察看結果樹的情況如下:
可能出現的異常問題:
有時候,在使用txt文件參數化時,請求數據出現亂碼,如下:
此時,需檢查CSV數據文件設置中的編碼格式是否為UTF-8,同時確保txt文件的編碼也是UTF-8,最好是新建1個文件,把原文件內容直接復制過去,並保存的文件編碼格式選擇為“UTF-8”。
如有錯誤,歡迎指出!