Apache JMeter常用函式
JMeter函式是一種特殊值,可用於除測試計劃外的任何元件。函式呼叫的格式如下所示:
${__functionName(var1,var2,var3)}
其中,__functionName為函式名,括號內是函式的引數,無引數時可以不用括號,如${__UUID}
Tips:
如果引數包含逗號,那麼一定要使用“\”來轉義,否則JMeter會把它當作一個引數分隔符
實際使用時,可通過函式助手對話方塊選擇函式,設定引數後,點選生成按鈕生成函式字串。
下文講述幾個常用的JMeter函式。
__Random函式
返回指定最大值和最小值之間的一個隨機數。
示例:
${__Random(1,10,)} 返回1到10之間的隨機數
${__Random(0,10,MYVAR)} 返回0到10之間的隨機數,並將其儲存在MYVAR中。 ${MYVAR}將包含隨機數
__RandomString函式
返回指定長度的隨機字串。
示例:
${__RandomString(5)} 返回一個5個字元的隨機字串
${__RandomString(10,abcdefg)} 返回從abcdefg集合中選取的10個字元的隨機字串,如cdbgdbeebd或adbfeggfad,...
__UUID函式
返回一個偽隨機型別4通用唯一識別符號(UUID)。
示例:
${__UUID}
${UUID()}
__time函式
返回當前時間。
示例:
${__time(,)} 當前時間(毫秒級時間戳)
${__time(/1000,)} 當前時間(秒級時間戳)
${__time(yyyy-MM-dd,)} 當前時間(指定格式的日期)
__counter函式
執行緒每次呼叫時會生成一個新的數字,從1開始,每次增加+1。
例項:
${__counter(TRUE,)} 每個使用者(執行緒)有自己的計數器
${__counter(TRUE,)} 使用全域性計數器
__StringFromFile函式
用於從文字檔案讀取字串,支援讀取多個檔案。
示例:
${_StringFromFile(demo.txt,,,)} 讀取demo.txt
${_StringFromFile(PIN#'.'DAT,,1,2)} 讀取demo1.txt, demo2.txt
${_StringFromFile(PIN.DAT,,,2)} 讀取demo.txt兩次
__CSVRead函式
從csv檔案讀取字元
列號檔案中的列號。 0 =第一列,1 =下一列 ,以此類推 ... next - 轉到檔案下一行
示例:
(假設如下4條按順序呼叫)
${__CSVRead(random.txt,0)} 讀取COL1a
${__CSVRead(random.txt,1)}${__CSVRead(random.txt,next)} 讀取COL2a
${__CSVRead(random.txt,0)} 讀取COL1b
${__CSVRead(random.txt,1)}${__CSVRead(random.txt,next)} 讀取COL2b