Jmeter函數(shù)詳解

參考文章:
【Jmeter】元件詳解:函數(shù)助手 - [顧三殤]
https://blog.csdn.net/qq_39720249/article/details/88790042
jmeter官方文檔
https://jmeter.apache.org/usermanual/functions.html#__log

BeanShell

對表達式求值并存儲變量

${__BeanShell(1+1,var)}
輸入:1+1
輸出:var = 2

changeCase

對字符串進行格式化(UPPER(默認),LOWER,CAPITALIZE)

${__changeCase(aaaaa,CAPITALIZE,)}
輸入:aaaaa
輸出:Aaaaa

char

對Unicode 字符數(shù)(十進制或0xhex) 進行轉(zhuǎn)換

${__char(69)}
輸入:69
輸出:E

counter

計數(shù)器,每次被調(diào)用都會產(chǎn)生一個新的數(shù)字,從1開始,每次加1

${__counter(,)}
輸入:
輸出:1

CSRead

讀取外部文件指定列的參數(shù)

${__CSVRead(D:\JmeterData\he.txt,2)}
輸入:1,2,3
輸出:3

dateTimeConvert

格式化時間

${__dateTimeConvert(1620457371995,,yyyy-MM-dd HH:mm:ss,)}
輸入:1620457371995
輸出:2021-05-08 15:02:51

digest

返回指定哈希算法中的摘要值。(加密)

${__digest(MD5,Errare humanum est,,true,)}
輸入:Errare humanum est
輸出:C49F00B92667A35C63708933384DAD52
    
參數(shù)介紹:
摘要算法:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512
String to be hashed:要計算的字符串;
Salt to be used for hashing (optional):用于計算散列的鹽(可選項);
Upper case result, defaults to false (optional):結(jié)果大寫,默認為false(可選),即默認摘要值為小寫
存儲結(jié)果的變量名(可選)

escapeHtml

把字符轉(zhuǎn)換成 Html 格式的字符

${__escapeHtml("")}
輸入:“”
輸出:""

escapeOroRegexpChars

把一些 Java 正則表達式引擎不識別的正則式轉(zhuǎn)換一下,這樣就可以識別了;

${__escapeOroRegexpChars([^"].+?,)}
輸入:[^"].+?,
輸出:\[\^\"\]\.\+\?\,

escapeXml

字符串轉(zhuǎn)義

${__escapeXml("bread" & 'butter')}
輸入:"bread" & 'butter'
輸出:"bread" & 'butter'

eval

函數(shù) __eval 可以用來執(zhí)行一個字符串表達式,并返回執(zhí)行結(jié)果。(該函數(shù)里面可以執(zhí)行表達式)

${__eval({sql})}
例如:
name = Smith
column = age
table = birthdays
SQL = select columnfrom{table} where name = '${name}'

輸出: select age from birthdays where name='Smith'

evalVar

用來執(zhí)行保存在變量中的表達式,并返回執(zhí)行結(jié)果,并把結(jié)果存入一個變量,供 Sampler 引用。

${__evalVar()}
輸入:
輸出:

FileToString

FileToString函數(shù)可用于讀取整個文件。每次調(diào)用它時,它都會讀取整個文件。
如果打開或讀取文件時發(fā)生錯誤,則函數(shù)返回字符串"ERR"

${__FileToString(D:\JmeterData\he.txt,utf-8,)}
輸入:D:\JmeterData\he.txt
輸出:1,2,3

groovy

執(zhí)行g(shù)roovy腳本

${__groovy("myVar".substring(0\,2))}
輸入:"myVar".substring(0\,2)
輸出:my

intSum

參數(shù)(整數(shù))求和

${__intSum(1,2,)}
輸入:1,2
輸出:3

isPropDefined

如果property存在則返回true,否則返回false。

${__isPropDefined(usercount)}
輸入:
輸出:false

isVarDefined

如果var存在則返回true,否則返回false。

${__isVarDefined(1)}
輸入:
輸出:false

javaScript

javaScript函數(shù)執(zhí)行一段javaScript(不是Java!)代碼并返回它的值

${__javaScript(new Date(),)}
輸入:new Date()
輸出:[Date 2021-05-08T08:02:37.258Z]

jexl2

jexl函數(shù)返回對Commons jexl表達式求值的結(jié)果

${__jexl2(1+1==3,)}
輸入:1+1==3
輸出:false

jexl3

jexl函數(shù)返回對Commons jexl表達式求值的結(jié)果

${__jexl3(1+1==3,)}
輸入:1+1==3
輸出:false

log

log函數(shù)記錄一條消息,并返回其輸入字符串(打印日志)

${__log(111,out,,)}
輸入:111
輸出:111
參數(shù)講解:
第 1 個參數(shù):要記錄(和返回)的字符串
第 2 個參數(shù):日志級別有 OUT,ERR,DEBUG,INFO (default) ,WARN or ERROR
OUT:  在控制臺打印出來 (點擊快捷菜單欄的 △0(帶感嘆號“!”的三角形) 按鈕,在 GUI 中打開控制臺),
另外也會打印到標準輸出窗口(在 Windows 下我們運行 JMeter 時會有一個標準輸出窗口)
第3/4個參數(shù)可選

logn

與 log 類似,不過它只記錄一條日志,不返回值而已

${__logn(哈哈,err,)}
輸入:
輸出:

longSum

與 __intSum 類同,只不過把整數(shù)變成了長整型

${__longSum(1,2,)}
輸入:1,2
輸出:3

machineIP

獲取設(shè)備IP

${__machineIP()}
輸入:
輸出:192.168.56.1

machineName

獲取設(shè)備名稱

${__machineName()}
輸入:
輸出:輸出電腦名稱

P

獲取設(shè)備名稱

${__P(,1)}
輸入:
輸出:

1、獲取屬性的函數(shù),可以獲取命令行中定義的屬性,默認值為 1 。
// 例如:我們在命令窗口打開 JMeter 且設(shè)置 group1.threads = 7 ,我們在打開的 JMeter GUI 中可以獲取到此參數(shù)。
// 在非 GUI 方式運行測試計劃時這個函數(shù)可用來做參數(shù)化,由運行命令動態(tài)指定參數(shù)值,
// 方便我們與 Jenkins 、Maven 或者 Ant 進行集成未完成性能測試自動化工作。
2、函數(shù) __P 是一個簡化版的屬性函數(shù),目的是使用在命令行中定義的屬性。
3、不同于函數(shù) __property ,本函數(shù)沒有提供選項用于設(shè)置保存屬性值的變量。
4、另外,如果沒有設(shè)置默認值,默認值自動設(shè)為 1 。

property

獲取properties文件中的屬性值

${__property(upgrade_properties,,)}
輸入:pgrade_properties
輸出:/bin/upgrade.properties

Random

生成控制范圍之間的隨機整數(shù)

${__Random(1,10,)}
輸入:
輸出:1-10隨機整數(shù)

RandomDate

生成給定的開始日期和結(jié)束日期之間的隨機日期(日期、不是時間)(可指定日期格式)

${__RandomDate(yyyy-MM-dd,2021-05-01,2021-05-20,,)}
輸入:2021-05-01 , 2021-05-20
輸出:2021-05-06

RandomFromMultipleVars

對給定的幾個var1,var2,var3變量進行一個隨機取值

${__RandomFromMultipleVars(var1,var2)}
輸入:var1,var2
輸出:var1或者var2

RandomString

隨機生成字符,可指定字符的長度和可進行隨機的字符串序列

${__RandomString(3,你好啊,我是小愛同學。,)}
輸入:
輸出:你好。

regexFunction

Regex函數(shù)用于使用任何正則表達式(由用戶提供)解析前面的響應(yīng)(或變量的值)。函數(shù)返回填充了變量值的模板字符串。
https://jmeter.apache.org/usermanual/functions.html#__regexFunction

${__regexFunction(,,,,,,)}
輸入:
輸出:

samplerName

獲取當前Sampler的名稱

${__samplerName(qq)}
輸入:
輸出:Sampler名稱

setProperty

動態(tài)設(shè)置jmeter變量

${__setProperty(qq,11,false)}
輸入:qq = 11
輸出:

split

分割字符串(指定字符串,存儲變量名稱,分隔符)

${__split(1\,2\,3,a,\,)}
輸入:1,2,3
輸出:1,2,3
      a_1=1
      a_3=3
      a_2=2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容