十一、_RandomString():隨機字符串函數(shù) 1、Randomstringlength:隨機字符的長度 2、Charstouseforrandomstringgeneration:用來生成隨機字符串的字符,可以是純數(shù)字,純字符,字符字母數(shù)字組合 3、Nameofvariableinwhichtostoretheresult(optional):隨機生成的字符被變量保存 4、${__RandomString(6,abcdefgh1234566,ranstr)},解釋:隨機生成一個6位長度的字符串被ranstr保存; 十二、__property 1、函數(shù)__property會返回一個JMeter屬性的值。如果函數(shù)找不到屬性值,而又沒有提供默認值,則它會返回屬性的名稱。 2、例如, ${__property(user.dir)}:返回屬性user.dir的值。 ${__property(user.dir,UDIR)}:返回屬性user.dir的值,并保存在變量UDIR中。 ${__property(abcd,ABCD,atod)}:返回屬性abcd的值(如果屬性沒有定義,返回'atod'),并保存在變量ABCD中。 ${__property(abcd,,atod)}:返回屬性abcd的值(如果屬性沒有定義,返回'atod'),但是并不保存函數(shù)的返回值。 十三、_P 1、函數(shù)_P是一個簡化版的屬性函數(shù),目的是使用在命令行中定義的屬性。 2、不同于函數(shù)_property,本函數(shù)沒有提供選項用于設(shè)置保存屬性值的變量。另外,如果沒有設(shè)置默認值,默認值自動設(shè)為1。 3、例如:定義屬性值: jmeter-Jgroup1.threads=7-Jhostname1=www.realhost.edu 獲取值如下: ${__P(group1.threads)}:返回屬性group1.threads的值。 ${__P(group1.loops)}:返回屬性group1.loops的值。 ${__P(hostname,www.baidu.com)}:返回屬性hostname的值,如果沒有定義該屬性則返回值www.baidu.com。 在上面的例子中,第一個函數(shù)調(diào)用返回7,第二個函數(shù)調(diào)用返回1,而最后一個函數(shù)調(diào)用返回www.baidu.com(除非這些屬性在其他地方有定義)。 十四、__log 1、函數(shù)__log會記錄一條日志,并返回函數(shù)的輸入字符串。 2、OUT和ERR的日志級別,將會分別導致輸出記錄到System.out和System.err中。在這種情況下,輸出總是會被打?。ㄋ灰蕾囉诋斍暗娜罩驹O(shè)置)。 例如: ${__log(Message)}:寫入日志文件,形如'...threadName:Message'。 ${__log(Message,OUT)}:寫到控制臺窗口。 ${__log(${VAR},,,VAR=)}:寫入日志文件,形如'...threadNameVAR=value'。 十五、__split:字符串分割函數(shù) 1、函數(shù)__split會通過分隔符來拆分傳遞給它的字符串,并返回原始的字符串。如果分隔符緊挨在一起,那么函數(shù)就會以變量值的形式返回'?'。拆分出來的字符串,以變量${VAR_1}、{VAR_2}…以此類推的形式加以返回。 2、分隔符默認是逗號,如果你想要多此一舉,明確指定使用逗號,需要對逗號轉(zhuǎn)義,如“\,” 3、例如,在測試計劃中定義變量VAR='a||c|': ${__split(${VAR},VAR),|}:該函數(shù)調(diào)用會返回VAR變量的值,例如'a||c|',并設(shè)定VAR_n=4、VAR_1=a、VAR_2=?、VAR_3=c、VAR_4=?、VAR_5=null變量的值。 十六、__XPath 1、函數(shù)__XPath讀取XML文件,并在文件中尋找與指定XPath相匹配的地方。每調(diào)用函數(shù)一次,就會返回下一個匹配項。到達文件末尾后,會從頭開始。如果沒有匹配的節(jié)點,那么函數(shù)會返回空字符串,另外,還會向JMeter日志文件寫一條警告信息。 整個節(jié)點列表都會被保存在內(nèi)存之中。 例如: ${__XPath(/path/to/build.xml,//target/@name)} 這會找到build.xml文件中的所有目標節(jié)點,并返回下一個name屬性的內(nèi)容。 十七、__setProperty 1、函數(shù)__setProperty用于設(shè)置JMeter屬性的值。函數(shù)的默認返回值是空字符串,因此該函數(shù)可以被用在任何地方,只要對函數(shù)本身調(diào)用是正確的。 2、通過將函數(shù)可選的第3個參數(shù)設(shè)置為'true',函數(shù)就會返回屬性的原始值。 3、屬性對于JMeter是全局的,因此可以被用來在線程和線程組之間通信。 十八、__time 1、函數(shù)__time可以通過多種格式返回當前時間。 2、如果省略了格式字符串,那么函數(shù)會以毫秒的形式返回當前時間。其他情況下,當前時間會被轉(zhuǎn)成簡單日期格式。包含如下形式: YMD=yyyyMMdd。 HMS=HHmmss。 YMDHMS=yyyyMMdd-HHmmss。 USER1=JMeter屬性time.USER1。 USER2=JMeter屬性time.USER2。 用戶可以通過修改JMeter屬性文件來改變默認格式,或者自定義格式,例如修改YMD格式:time.YMD=yyMMdd。 十九、__V 1、函數(shù)__V可以用于執(zhí)行變量名表達式,并返回執(zhí)行結(jié)果。它可以被用于執(zhí)行嵌套函數(shù)引用(目前JMeter不支持)。 2、例如,如果存在變量A1、A2和N=1,則: ${A1}:能正常工作。 ${A${N}}:無法正常工作(嵌套變量引用)。 ${__V(A${N})}:可以正常工作。A${N}變?yōu)锳1,函數(shù)__V返回變量值A(chǔ)1。 二十、__evalVar 1、函數(shù)__evalVar可以用來執(zhí)行保存在變量中的表達式,并返回執(zhí)行結(jié)果。 如此一來,用戶可以從文件中讀取一行字符串,并處理字符串中引用的變量。 2、例如,假設(shè)變量'query'中包含有'select${column}from${table}',而'column'和'table'中分別包含有'name'和'customers',那么${__evalVar(query)}將會執(zhí)行'selectnamefromcustomers'。 二十一、__eval 1、函數(shù)__eval可以用來執(zhí)行一個字符串表達式,并返回執(zhí)行結(jié)果。 如此一來,用戶就可以對字符串(存儲在變量中)中的變量和函數(shù)引用做出修改。 2、例如,給定變量name=Smith、column=age、table=birthdays、SQL=select${column}from${table}wherename='${name}',那么通過${__eval(${SQL})},就能執(zhí)行'selectagefrombirthdayswherename='Smith''。這樣一來,就可以與CSV數(shù)據(jù)集相互配合,例如,將SQL語句和值都定義在數(shù)據(jù)文件中。 二十二、__escapeHtml 1、函數(shù)__escapeHtml用于轉(zhuǎn)義字符串中的字符(使用HTML實體)。支持HTML4.0實體。 二十三、__unescapeHtml 1、函數(shù)__unescapeHtml用于反轉(zhuǎn)義一個包含HTML實體的字符串,將其變?yōu)榘瑢嶋HUnicode字符的字符串。支持HTML4.0實體。 2、如果函數(shù)不認識某個實體,就會將實體保留下來,并一字不差地插入結(jié)果字符串中。例如,'>&zzzz;x'會變?yōu)?>&zzzz;x'。 二十四、__FileToString 1、函數(shù)__FileToString可以被用來讀取整個文件。每次對該函數(shù)的調(diào)用,都會讀取整個文件。 2、如果在打開或者讀取文件時發(fā)生錯誤,那么函數(shù)就會返回字符串'**ERR**'。 本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系博為峰小編(021-64471599-8017),我們將立即處理
|
|