函數名 | 作用 | 用法 |
${__Random(,,)} ${__RandomString(,,)} | 隨機生成一些東西 | ${__Random(000,999,)}? ${__Random(${test1},${test2},)} ${__RandomString(${__Random(3,9,)},asdfghjkl,)} |
${__time(,)} | 獲取當前的時間戳,也可以定義格式 | |
${__CSVRead(,)} | 讀取CSV文件的格式,推薦使用CSV配置元件 | |
${__digest(,,,,)} | 進行加密的算法 | 支持的算法:MD2、MD5、SHA-1、SHA-224等 |
${__counter(,)} | 計數函數,用于計數,比如記錄發送了多少次請求 | ${__counter(true,)} :每個虛擬用戶都有自己的計數器 第一個參數是true或false,默認是false 第二個參數是變量名,生成的數字可以保存在一個變量中,方便后續調用 使用場景:統計發送請求的數量,counter函數生成的數字做變量名的下表,實現循環一次調用多個變量
|
${__V(,)} | 拼接函數 | 可以用來拼接變量和變量、變量和函數 注意: (1)V函數的第二個參數的都好必須保留逗號,JMeter語法保留 (2)變量需要提前定義,如果user1未定義,調用時會返回user1 (3)嵌套調用比直接引用變量稍慢,在高并發測試中需要注意 |
計數器 | 不是函數,是配置元件,優先級比較高 | 作用:控制生成一個數字從哪里開始,到哪里結束并間隔多少,限定一個區間,不會像counter函數出現越界取不到值的現象 優點:循環取值 ----- 適合做數字下標,借助V函數進行拼接 |
${__setProperty(,,)} | 設置動態屬性的函數 | (1)在函數里面設置屬性的名字和屬性值:屬性值可以設置固定的值,也可以調用變量獲取值 (2 )調用setproperty的函數,才會添加屬性成功--調試取樣器/后置處理程序里調用了這個設置屬性函數執行了 (3)運行Jmeter腳本,會執行這個函數的調用,就會設置屬性每次是再去檢查下Jmeter的屬性顯示(測試計劃--添加--非測試元件--屬性顯示),就能看到設置的動態屬性 (4)一旦設置了,只有把Jmeter工具關閉了才能釋放,沒有關閉工具,屬性一直都在可用 |
${__property(,,)} ${__P(,)} | 獲取屬性函數 動態屬性 靜態屬性 Jmeter工具屬性 | 直接去獲取Jmeter屬性里的值,因為屬性是多個線程組共享的,這樣可以實現用戶參數跨線程組的使用,這個在混合場景性能模型的時候會使用 ---- 這兩個函數均從全局屬性池中讀取值,因此不受線程組隔離限制 ----- 出現的問題: 在Jmeter中,默認的時候多個線程組是并行執行的,有可能出現先后執行的差異 在第一次啟動運行的時候,可能會出現的獲取上一次設置的屬性的值;而上一次的值有可能為空,所以獲取屬性第一次可能會沒有值,但是不影響性能測試的結果 如果做功能測試就是希望每一次都可以取到值,使用固定定時器延遲啟動--不推薦使用 |