如果使用jmeter做過參數化的人都知道,參數化的方式有多種,其中一種就是使用用戶定義的變量,還有一種是使用用戶參數。那么,這兩個有什么異同呢?
一、先說相同的點:
1、都可以參數化,以供sampler調用。
2、都是key-values的形式展示。
二、再說說區別,我們在講這個區別的時候,還是結合實例來說,這樣更容易理解。
1、分別在不同的組件中。用戶參數的位置屬於前置處理器,用戶定義的變量屬於配置元件。
2、用戶定義的變量,數據初始化一次;用戶參數是每次都變動的。下面舉個例子,來看看二者的不同。
第一步,我們只是看二者參數的區別,所以在取樣器中添加Debug Sampler
第二步,在Debug Sampler下添加用戶參數
添加隨機函數,如圖
第三步,添加用戶定義的變量
同樣添加隨機函數
第四步,添加查看結果樹,運行之后,查看結果。注意:r1是通過用戶參數定義的,r2是通過用戶定義的變量定義的。
結果1,如圖:
結果2,如圖:
結果3,如圖
結論,當一次執行多個線程的時候,用戶參數定義的變量是不斷變化的,每一次都是重新生成一個隨機數,而用戶定義的變量,則是初始化一次,每個請求中的參數值是相同的。