一、jmeter用戶自定義變量的引用方法
jmeter用戶自定義變量是在測試過程中經常用到的一種方式。其主要作用是為了動態地為一些參數賦值,以便於在測試過程中進行傳遞和使用。引用方法如下:
${variable_name}
其中,variable_name
是變量名稱。在使用中,我們可以使用它來代替需要傳遞的參數值。
舉一個栗子,在jmeter中定義了一個名為foo
的變量,那麼我們可以這樣引用它:
${foo}
在運行測試過程中,jmeter會將${foo}
替換成變量foo
的值。
二、jmeter用戶參數和用戶自定義變量的區別
jmeter用戶參數和用戶自定義變量是jmeter中的兩種不同的參數傳遞方式。
1、用戶參數
用戶參數是在測試計劃的User Parameters
下定義的。它的作用是為多個請求動態地傳遞參數值,從而實現測試過程中參數的自動化管理。
用戶參數有以下幾個特點:
- 參數值是在每個迭代中動態生成的。
- 參數值可以通過
${變量名}
的方式來進行引用。 - 用戶參數在整個測試計劃中都是可見的。
- 用戶參數不能設置默認值。如果沒有指定值,則會在測試運行時報錯。
2、用戶自定義變量
用戶自定義變量是在測試計劃中任何地方都可以定義和使用的。它的作用是為了動態地賦值給部分請求參數以達到自定義的目的。
用戶自定義變量有以下幾個特點:
- 變量值是在測試前指定的。
- 可以通過
${variable_name}
的方式來引用。 - 用戶自定義變量只在當前線程組中可見。
- 用戶自定義變量可以設置默認值。
三、jmeter用戶自定義變量不能重複定義
jmeter中用戶自定義變量是不能被重複定義的。如果在同一個線程組中出現了同名的自定義變量,那麼只有最後一次定義的變量會起作用。
舉一個栗子,如果在一個線程組中,分別定義了以下兩個變量:
foo=1 foo=2
那麼在測試過程中,${foo}
的值將會是2。
四、jmeter用戶自定義變量的作用
jmeter用戶自定義變量在測試過程中有很多作用,主要有以下幾個:
1、設置動態參數
通過設置自定義變量,我們可以在測試過程中動態地傳遞參數。
2、設置默認參數值
在測試過程中,我們很多時候需要設置一些參數的默認值。使用自定義變量可以實現這個功能。
3、自定義業務邏輯
在測試過程中,有時需要自定義一些複雜的業務邏輯。使用自定義變量可以讓我們靈活地控制測試過程中的請求參數。
4、設置隨機值
在測試過程中,有時需要使用隨機值來對請求參數進行賦值,以模擬真實場景下的請求情況。使用jmeter自帶的隨機函數,可以很方便地實現這個功能。
五、jmeter用戶自定義變量訂單號
在實際測試中,有時需要使用某種規則生成訂單號來模擬真實場景。下面是使用jmeter自定義變量生成訂單號的示例代碼:
${__time(yyyyMMddHHmmssSSS)}-${__Random(1,100)}
上述代碼中,使用了${__time(yyyyMMddHHmmssSSS)}
來獲取當前時間,並以yyyyMMddHHmmssSSS
的格式進行格式化。同時使用${__Random(1,100)}
來生成一個1~100之間的隨機數。
這樣就可以在測試過程中使用類似20211111111111111-89
這樣的訂單號來模擬真實場景。
六、jmeter定義變量
jmeter定義變量可以通過兩種方式實現:
- 在測試計劃的
User Defined Variables
下定義。 - 在測試過程中使用
BeanShell preprocessor
或JSR223 preprocessor
定義。
其中,第一種方式比較簡單,直接在User Defined Variables
下添加即可。下面是示例代碼:
variable_name=value
第二種方式需要使用BeanShell preprocessor
或JSR223 preprocessor
的方式進行定義。下面是示例代碼:
vars.put("variable_name", "value");
需要注意的是,在使用BeanShell preprocessor
或JSR223 preprocessor
定義變量時,需要確保變量名的唯一性。
七、jmeter用戶自定義變量從文檔中讀取
jmeter用戶自定義變量可以從外部文檔中讀取,以方便地進行參數管理。下面是從csv文件中讀取自定義變量的示例代碼:
${__CSVRead(filepath.csv,0)}
上述代碼中,filepath.csv
是csv文件的路徑,0
表示讀取csv文件的第一列。
八、jmeter自定義函數
jmeter自定義函數是為了擴展jmeter自身的功能。通過自定義函數,可以實現一些原有功能上不足的操作。下面是自定義函數的示例代碼:
${__javaScript(function_name(param1, param2))}
上述代碼中,function_name
是自定義函數的名稱,param1
和param2
是自定義函數的參數。
九、jmeter自定義變量隨機生成
在測試過程中,有時需要使用隨機值作為參數值。jmeter提供了多種內置的隨機函數,可以方便地實現自定義變量的隨機生成。下面是一些常用的隨機函數:
- ${__Random(1,100)}
- ${__RandomString(10,abcdefghijklmnopqrstuvwxyz1234567890)}
- ${__time(yyyyMMddHHmmssSSS)}
- ${__UUID()}
上述函數的具體含義和用法,請參考jmeter官方文檔。
十、jmeter添加自定義變量
jmeter添加自定義變量可以通過以下步驟實現:
- 在測試計劃中右鍵,選擇
Add->Config Element->User Defined Variables
。 - 在
User Defined Variables
下添加自定義變量。 - 在需要使用自定義變量的地方,使用
${variable_name}
的方式來引用變量。
需要注意的是,在User Defined Variables
中定義的變量是全局可見的。
總結
本文詳細介紹了jmeter用戶自定義變量的多種用法及其實現方式。jmeter用戶自定義變量可以用來動態地傳遞參數、自定義業務邏輯、隨機生成參數值等。在測試過程中,靈活使用自定義變量可以提高測試效率、減少測試成本。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/187077.html