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