1. 程式人生 > >Apache JMeter常用函式

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