Jmeter如何參數化?常見的幾種參數化方法總結!
如果想要掌握Jmeter的相關操作,那么前提是你一定要會參數化,那什么是參數化呢?
參數化:簡單的來理解一下,我們錄制了一個腳本,這個腳本中有登錄操作,需要輸入用戶名和密碼,假如系統不允許相同的用戶名和密碼同時登錄,或者想更好的模擬多個用戶來登錄系統。這個時候就需要對用戶名和密碼進行參數化,使每個虛擬用戶都使用不同的用戶名和密碼進行訪問。
說一下我的理解,就是將腳本中的某些輸入值使用參數來代替,在下次使用的時候,只需要修改輸入值即可。
Jmeter與loadrunner參數化的區別:
- jmeter參數文件的第一行沒有列名稱
- 這里要注意的是參數文件的編碼,可以使用記事本另存為就可以修改該編碼(編碼問題在使用CSV Data Set Config參數化時要求的比較嚴格)
- Jmeter的參數化設置沒有LoadRunner做的出色,它是依賴于線程設置的(只有CSV Data Set Config參數化方法才有)
還是聽不懂沒關系,看了下面的你就會了,常見的參數化方法有如下幾種:
一、CSV Data Set Config:CSV數據控件
使用場景:適合參數范圍比較大的時候,可以方便用戶隨時修改參數數據。使用最多的就是參數化用戶名和密碼登錄系統。
準備txt文檔參數數據
參考接口:http://api.nnzhp.cn/api/user/login
通過Debug Sampler來查看獲取的參數是否正確
二、函數助手
使用場景:jmeter自帶的函數處理,比如:隨機數,可用于固定字符+隨機數,修改傳入參數的值,函數助手的底層都是java封裝的方法。
三、用戶自定義變量
使用場景:一般可以適用于在測試計劃中不經常變化的參數設置,如host、端口號、url等;而且用戶自定義變量是在配置元件中的。
結果如下所示:
四、用戶參數
使用場景:適合參數取值范圍很小的時候使用 一般會將登錄的用戶賬號和密碼作為用戶參數,用戶參數是在前置處理器模塊中的
請求結果如下:
五、關聯獲取參數- 正則/json提取(個人角度)
常見的參數化是四種,個人理解通過正則和 json 提取也是一種提取返回結果。
作為參數的一種功能,常見的使用場景有:用戶登錄時,獲取返回結果 token,作為下一個請求的參數,這里要注意取參數的順序,否則可能會出現還沒提取出參數的值,其他請求卻已經引用了參數的情況。
參考接口:http://api.nnzhp.cn/api/user/login 獲取用戶的 cookie,并將 cookie 作為參數請求下一個連接。這樣的原因是,能保證接下去的操作是在當前用戶登錄后操作的。
通過 json 提取器獲取對應的 cookies 值,并添加在下一個請求的 http cookie 管理器中。
通過 debug sampler 來查看取值結果,說明我們已經取到對應的 cookie 值了。
看到這里,應該知道如何進行參數化了吧,學會了參數化,我們使用 jmeter 就會越
加方便啦!
總結
在用到jmeter工具時,無論做接口測試還是性能測試,參數化都是一個必須掌握且非常有用的知識點。