問題描述:使用jmeter進行接口測試時,遇到枚舉值(如:10代表閑置、15代表使用中、20代表維修等)我們需要隨機取一個類型傳到接口中。
解決思路:通過函數助手查找隨機函數,找到__chooseRandom以及__randomFromMultipleVars兩個內置函數
方法1、使用__randomFromMultipleVars首先要定義用戶參數PartType1,PartType2,PartType3,PartType4
然后通過${__RandomFromMultipleVars(PartType1|PartType2|PartType3|PartType4,)}隨機獲取變量
取值結果如下:
方法2、使用__chooseRandom,${__chooseRandom(10,15,20,30,)}
在使用的過程中發現一個問題:
在循環控制器中不管我使用調試取樣器還是http請求,使用函數助手自動生成的${__chooseRandom(10\,20\,30\,40,)}執行的時候jmeter 就會報錯:
org.apache.jmeter.functions.InvalidVariableException: __chooseRandom called with wrong number of parameters. Actual: 2. Expected at least: 3
總結:如果只是需要對於枚舉值進行隨機取值建議使用:__chooseRandom函數,但是使用該函數需要注意,通過函數助手生成時會自動加\進行轉義,導致jmeter報錯。