Jmeter函數(shù)助手大全

官方文檔

__BeanShell

  • 入?yún)ⅲ築eanShell語法的程序語句或者Bean Shell腳本文件
  • 示例:
${__BeanShell(123*456,)}:返回56088塑崖;
${__BeanShell(source("function.bsh",))}:執(zhí)行在function.bsh中的腳本蛉加;
image.png

__changeCase

  • 作用:修改字符串大小寫
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
${__changeCase(test,UPPER,upper_test)}
image.png

__char

  • 作用:把一組數(shù)字轉(zhuǎn)化成Unicode字符
  • 入?yún)ⅲ簲?shù)字
  • 示例:
${__char(65,66)}橄霉,變成AB
image.png

__counter

  • 作用:作為一個(gè)計(jì)數(shù)器使用绞灼,支持多線程(多用戶)
  • 入?yún)ⅲ河?jì)數(shù)變量i,是否為線程計(jì)數(shù)器True/False
  • 示例
${__counter(FALSE,i)}; 全局計(jì)數(shù)器
${__counter(TRUE,i)}; 每個(gè)用戶有自己的計(jì)數(shù)器
image.png

__CSVRead

  • 作用:從文件讀取指定列的值(讀取固定值/讀取動(dòng)態(tài)值/使用文件別名)
  • 入?yún)ⅲ何募窂郊袄希蛔x取方式品追;
  • 示例
${__CSVRead(E:\user_info.csv,0)};讀取第一列的值

${__CSVRead(E:\user_info.csv,next())}; 每次讀取下一次的值衅胀,配合第一條使用,否則不知道從哪里開始

${__CSVRead(E:\user_info.csv,*user_info)};使用別名船老,然后通過以下方法獲取數(shù)據(jù)
${__CSVRead(*user_info, 1)}
image.png

__dataTimeConvert

  • 作用:格式化日期
  • 入?yún)ⅲ喝掌?時(shí)間
  • 示例:
${__dateTimeConvert(01212018,MMddyyyy,dd/MM/yyyy,)}

${__dateTimeConvert(1526574881000,,dd/MM/yyyy HH:mm,)}; 官方例子咖熟,但是本地沒試出來
image.png

__digest

  • 作用:加密
  • 入?yún)ⅲ?
    • 加密算法:MD2, MD5, SHA-1, SHA224, SHA256, SHA384, SHA512
    • 需要加密的值
    • 撒鹽加密
    • 是否要轉(zhuǎn)成大寫
    • 變量名稱

關(guān)于撒鹽加密(salt)

使用salt加密,它的基本想法是這樣的:

1.用戶注冊(cè)時(shí)柳畔,在密碼上撒一些鹽馍管。生成一種味道,記住味道薪韩。
2.用戶再次登陸時(shí)确沸,在輸入的密碼上撒鹽,聞一聞躬存,判斷是否和原來的味道相同张惹,相同就讓你吃飯。

image.png

image.png
image.png
  • 示例:
${__digest(MD5,test,1,,)}
image.png

__escapeHtml

  • 作用:字符轉(zhuǎn)成Html格式的字符岭洲,這樣編碼后傳給瀏覽器宛逗,瀏覽器就能識(shí)別了
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
${__escapeHtml(")}
image.png

__escapeOroRegexChars

  • 作用:把正則表達(dá)式轉(zhuǎn)換成Java正則引擎能識(shí)別的表達(dá)式
  • 入?yún)ⅲ赫齽t表達(dá)式
  • 示例:
${__escapeOroRegexpChars([^"].+?,test)}
image.png

__escapeXml

  • 作用:字符轉(zhuǎn)成xml格式的字符
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
${__escapeXml("bread" & 'butter')}
image.png

__eval

  • 作用:返回一個(gè)表達(dá)式的值,可以用此函數(shù)表達(dá)式來嵌套引用表達(dá)式
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
name=Smith 
column=age 
table=birthdays 
SQL=select ${column} from ${table} where name='${name}' 
${__eval(${SQL})}; 引用SQL變量
image.png

__evalVar

  • 作用:返回一個(gè)表達(dá)式的結(jié)果盾剩,存到一個(gè)變量中雷激,供使用
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
QUERY = select ${column} from ${table}; column=name, table=customers
${__evalVar(QUERY)} = select name from customers

__fileToString

  • 作用:讀取文件保存至變量中
  • 入?yún)ⅲ何募窂剑痪幋a格式告私;變量名
  • 示例:
${__FileToString(E:\user_info.csv,utf-8,user_info)}
image.png

__groovy

  • 作用:執(zhí)行Apache Groovy腳本屎暇,并返回結(jié)果
  • 入?yún)ⅲ罕磉_(dá)式;變量名
  • 示例:
${__groovy(123*456,test)}
image.png

__intSum

  • 作用:整數(shù)求和驻粟,多個(gè)數(shù)字之間用逗號(hào)分隔
  • 入?yún)ⅲ旱谝粋€(gè)整數(shù)根悼;第二個(gè)及之后的整數(shù);變量名
  • 示例:
${__intSum(1,2,3,4,5,6,7,8,test)}
image.png

__isPropDefined

  • 作用:判斷屬性是否存在
  • 入?yún)ⅲ簩傩悦Q
  • 示例:
${__isPropDefined(START.HMS)}
image.png

__isVarDefined

  • 作用:判斷變量是否存在
  • 入?yún)ⅲ鹤兞棵Q
  • 示例:
${__isVarDefined(JMeterThread.last_sample_ok)}
image.png

__javaScript

  • 作用:返回js腳本執(zhí)行結(jié)果
  • 入?yún)ⅲ簀s表達(dá)式蜀撑;變量名
  • 示例:
${__javaScript(new Date(),date)}
image.png

__jexl2

  • 作用:返回jexl表達(dá)式執(zhí)行結(jié)果挤巡,使用JEXL2
  • 入?yún)ⅲ簀exl表達(dá)式;變量名
  • 示例:
${__jexl2(vars.get("START.YMD"),test)}
image.png

__jexl3

  • 作用:返回jexl表達(dá)式執(zhí)行結(jié)果酷麦,JEXL3
  • 入?yún)ⅲ簀exl表達(dá)式矿卑;變量名
  • 示例:
${__jexl3(vars.get("START.YMD"),test)}
image.png

__log

  • 作用:日志方法,返回輸入的字符串信息
  • 入?yún)ⅲ鹤址秩模蝗罩炯?jí)別母廷;拋出的異常信息轻黑;附加信息
    • OUT:控制臺(tái)打印
    • ERR:控制臺(tái)輸出,同時(shí)打印到標(biāo)準(zhǔn)輸出
    • DEBUG:控制臺(tái)輸出琴昆,DEBUG級(jí)別以上的都打印
    • INFO:控制臺(tái)打印INFO及ERROR級(jí)別的日志
    • WARN:控制臺(tái)打印WARN氓鄙,INFO,ERROR級(jí)別的日志
    • ERROR:控制臺(tái)打印ERROR級(jí)別的日志
  • 示例:
${__log(testing,ERR,error throw test,error test)}
image.png

__logn

與__log類似椎咧,不過它只記錄一條日志玖详,不返回值。

${__logn(testing,,)}
image.png

__longSum

  • 作用:計(jì)算長整型的和
  • 入?yún)ⅲ赫麛?shù)
  • 示例:
${__longSum(1,2,3,4,sum)}
image.png

__machineIP

  • 作用:引用返回本機(jī)IP
  • 入?yún)ⅲ鹤兞棵?/li>
  • 示例:
${__machineIP(ip)}
image.png

__machineName

  • 作用:引用返回本機(jī)Name
  • 入?yún)ⅲ鹤兞棵?/li>
  • 示例:
${__machineName(name)}
image.png

__P

  • 作用:獲取命令行中定義的屬性勤讽,非GUI方式運(yùn)行測試計(jì)劃時(shí)這個(gè)函數(shù)可用來做參數(shù)化蟋座,由運(yùn)行命令動(dòng)態(tài)指定參數(shù)值,方便與Jenkins等集成完成性能測試工作
  • 入?yún)ⅲ簩傩悦Q脚牍;默認(rèn)值
  • 示例:
${__P(group1.threads,)}
image.png

__property

  • 作用:獲取Jmeter的屬性向臀,%JMETER_HOME%\bin\jmeter.properties
  • 入?yún)ⅲ簩傩悦Q;變量名诸狭;默認(rèn)值
  • 示例:
${__property(log_level.jmeter,log_Level,)}
image.png

__Random

  • 作用:生成指定范圍內(nèi)的隨機(jī)數(shù)
  • 入?yún)ⅲ鹤笥曳秶颍蛔兞棵?/li>
  • 示例:
${__Random(1,20,random_num)}
image.png

__RandomDate

  • 作用:生成指定范圍內(nèi)的日期
  • 入?yún)ⅲ喝掌诟袷剑蛔笥曳秶庇觯徽Z言芹彬;變量名
  • 示例:
${__RandomDate(,,2050-07-08,,)}
image.png

__RandomFromMultipleVars

  • 作用:給定的多個(gè)值中隨機(jī)取值
  • 入?yún)ⅲ憾鄠€(gè)值,使用|分隔叉庐;變量名
  • 示例:
${__RandomFromMultipleVars(a|b|c|d|e,select)}
image.png

__RandomString

  • 作用:生成指定長度的字符串
  • 入?yún)ⅲ鹤址L度舒帮;可選字符串;變量名
  • 示例:
${__RandomString(5,a3fxis,random_char)}
image.png

__regexFunction

  • 作用:提取正則表達(dá)式
  • 入?yún)ⅲ?
    • 用于解析服務(wù)器響應(yīng)數(shù)據(jù)的正則表達(dá)式
    • 模板字符串([group_number]
    • 告訴JMeter使用第幾次匹配
      • 整數(shù)n:使用第n個(gè)匹配項(xiàng)陡叠;
      • RAND:隨機(jī)選擇一個(gè)匹配項(xiàng)玩郊;
      • ALL:使用所有匹配項(xiàng),為每個(gè)匹配項(xiàng)創(chuàng)建一個(gè)模板字符串枉阵,并將它們連接在一起
      • 浮點(diǎn)值0到1之間:根據(jù)公式(找到的總匹配數(shù)目*指定浮點(diǎn)值)計(jì)算使用第幾個(gè)匹配項(xiàng)译红,計(jì)算值向最近的整數(shù)取整
    • 如果在上一個(gè)參數(shù)中選擇了“ALL”,那么這第4個(gè)參數(shù)會(huì)被插入到重復(fù)的模板值之間
    • 如果沒有找到匹配項(xiàng)返回的默認(rèn)值
    • 重用函數(shù)解析值的引用名
    • 變量名稱
  • 示例:
${__regexFunction(road(.*)test,$1$,1,,,,)}
image.png

__samplerName

  • 作用:獲取當(dāng)前按sampler的名稱
  • 入?yún)ⅲ鹤兞棵?/li>
  • 示例:
${__samplerName(sample_name)}
image.png

__setProperty

  • 作用:動(dòng)態(tài)設(shè)置jmeter屬性
  • 入?yún)ⅲ簩傩悦Q兴溜;屬性值侦厚;是否返回函數(shù)結(jié)果
  • 示例:
${__setProperty(log_level.jmeter,Debug,true)}
image.png

__split

  • 作用:拆分字符串
  • 入?yún)ⅲ捍鸱肿址蛔兞棵ㄊ褂米兞棵鸰x來訪問第x個(gè)拆分結(jié)果)拙徽;分隔符
  • 示例:
${__split(test|is|intresting,para,|)}
image.png

__StringFromFile

  • 作用:從文件中讀取內(nèi)容刨沦,一行一行的讀取,讀完再從頭開始
  • 入?yún)ⅲ何募窂秸剩兞棵丫恚辔募x取起止
  • 示例:
${__StringFromFile(D:\user_info.txt,info,,)}
image.png

__TestPlanName

  • 作用:獲取測試計(jì)劃名稱
  • 入?yún)ⅲ簾o
  • 示例:
${__TestPlanName}
image.png

__threadNum

  • 作用:返回當(dāng)前線程號(hào)
  • 入?yún)ⅲ簾o
  • 示例:
${__threadNum}
image.png

__time

  • 作用:返回當(dāng)前時(shí)間梧田,可指定返回格式淳蔼,由SimpleDateFormat類處理函數(shù)格式
    • 年:yyyy
    • 月:MM
    • 日:dd
    • 時(shí):hh
    • 分:mm
    • 秒:ss
  • 入?yún)ⅲ悍祷馗袷讲嗾海蛔兞棵?/li>
  • 示例:
${__time(yyyy-MM-dd hh:mm:ss,)}
image.png

__timeShift

  • 作用:
  • 入?yún)ⅲ?
    • 格式:創(chuàng)建日期的格式。如果該值未被傳遞鹉梨,則以毫秒為單位創(chuàng)建日期讳癌。
    • 日期:日期值
    • 移位:從日期參數(shù)的值中添加或減去多少天,幾小時(shí)或幾分鐘
      • “PT20.345S”解析為“20.345秒”
      • “PT15M”解析為“15分鐘”
      • “PT10H”解析為“10小時(shí)”
      • “P2D”解析為“2天”
      • “P2DT3H4M”解析為“2天存皂,3小時(shí)和4分鐘”
      • “P-6H3M”解析為“-6小時(shí)+3分鐘”
      • “-P6H3M”解析為“-6小時(shí)-3分鐘”
      • “-P-6H + 3M”解析為“+6小時(shí)和-3分鐘”
    • 區(qū)域設(shè)置:設(shè)置創(chuàng)建日期的顯示語言
    • 變量名
  • 示例:
${__timeShift(yyyy-MM-dd HH:mm:ss,PT20.345S,,,c)}
image.png

__unescape

  • 作用:反轉(zhuǎn)escape字符
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
${__unescape(\r\n)}
image.png

__unescapeHtml

  • 作用:反轉(zhuǎn)URL連接中的Unicode編碼字符
  • 入?yún)ⅲ鹤址?/li>
  • 示例:
${__unescapeHtml( )}
image.png

__urldecode

  • 作用:decode application/x-www-form-urlencoded字符串
  • 入?yún)ⅲ捍齞ecode字符串
  • 示例:
${__urldecode(Word+%22school%22+is+%22%C3%A9cole%22+in+french)}
image.png

__urlencode

  • 作用:與urldecode
  • 入?yún)ⅲ捍齟ncode字符串
  • 示例:
${__urlencode(Word "school" is "école" in french)}
image.png

__UUID

  • 作用:獲取UUID
  • 入?yún)ⅲ簾o
  • 示例:
${__UUID}
image.png

__V

  • 作用:獲取含變量名的表達(dá)式
  • 入?yún)ⅲ汉兞棵谋磉_(dá)式
  • 示例:
${A1} - 可以正確訪問
${A${N}} - 無法訪問晌坤,嵌套變量
${__V(A${N})} - 可以訪問。A${N}變成A1旦袋,__V函數(shù)返回A1的值
image.png

__XPath

  • 作用:根據(jù)xpath獲取xml節(jié)點(diǎn)內(nèi)容骤菠,沒有匹配到戈咳,則返回空字符串
  • 入?yún)ⅲ捍馕龅膞ml文件积仗;xpath表達(dá)式匹配xml節(jié)點(diǎn)
  • 示例:
${__XPath(/path/to/build.xml,//target/@name)}
image.png

可直接訪問變量

  • log:直接調(diào)用logger函數(shù)
  • ctx:獲取JMeterContent對(duì)象
  • vars:獲取JMeter定義的變量
  • props:獲取JMeter配置屬性
  • threadName:獲取Jmeter線程名
  • sampler:獲取Sampler實(shí)例
  • sampleResult:獲取SamplerResult實(shí)例
  • OUT:類似System.out.println, OUT.println()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市申尼,隨后出現(xiàn)的幾起案子祭阀,更是在濱河造成了極大的恐慌鹉戚,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件专控,死亡現(xiàn)場離奇詭異抹凳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)伦腐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門赢底,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蔗牡,你說我怎么就攤上這事颖系。” “怎么了辩越?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵嘁扼,是天一觀的道長。 經(jīng)常有香客問我黔攒,道長趁啸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任督惰,我火速辦了婚禮不傅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赏胚。我一直安慰自己访娶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布觉阅。 她就那樣靜靜地躺著崖疤,像睡著了一般秘车。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上劫哼,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天叮趴,我揣著相機(jī)與錄音,去河邊找鬼权烧。 笑死眯亦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的般码。 我是一名探鬼主播妻率,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼板祝!你這毒婦竟也來了舌涨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤扔字,失蹤者是張志新(化名)和其女友劉穎囊嘉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體革为,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扭粱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了震檩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琢蛤。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖抛虏,靈堂內(nèi)的尸體忽然破棺而出博其,到底是詐尸還是另有隱情,我是刑警寧澤迂猴,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布慕淡,位于F島的核電站,受9級(jí)特大地震影響沸毁,放射性物質(zhì)發(fā)生泄漏峰髓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一息尺、第九天 我趴在偏房一處隱蔽的房頂上張望携兵。 院中可真熱鬧,春花似錦搂誉、人聲如沸徐紧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽并级。三九已至巴柿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間死遭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工凯旋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留呀潭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓至非,卻偏偏與公主長得像钠署,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荒椭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 開發(fā)中iOS中字體設(shè)置 開發(fā)中系統(tǒng)的字體可能不符合我們產(chǎn)品的需求,這時(shí)候我們想要知道iOS還有哪些字體可以供我們使...
    CoderZNB閱讀 1,670評(píng)論 0 1
  • 001:我不要當(dāng)女博士 栗子從佐治亞理工大學(xué)碩士畢業(yè)趣惠,她放棄了讀博狸棍,她說:決定可以改變你的命運(yùn),但不能注定人生的成...
    5198非洲大象閱讀 170評(píng)論 0 1
  • 你不一定要點(diǎn)藍(lán)字關(guān)注我的 福袋一直是福氣降臨的一種承載味悄,今天小編給伙伴們看看美食福袋草戈,福袋也可以滿足你的味欲。 用...
    家庭涮烤驛站閱讀 911評(píng)論 0 1
  • 畫畫侍瑟,一直是我經(jīng)年不變的愛好唐片,雖然時(shí)有間斷,但是一直不離不棄涨颜,始終相守费韭,我想即使我老了,仍然會(huì)和它一起庭瑰。它會(huì)是我一...
    魚小藍(lán)閱讀 332評(píng)論 2 2