Jmeter常見(jiàn)函數(shù)使用方法匯總
__intSum
intSum 函數(shù)可用于計(jì)算兩個(gè)或多個(gè)整數(shù)值的總和。
引用名稱(chēng)是可選的, 但它不能是有效的整數(shù)。
- {__intSum(2,5,MYVAR)} 將返回 7 (2 5) 并將結(jié)果存儲(chǔ)在 MYVAR 變量中。因此 {MYVAR} 將等于7。
- ${__intSum(2,5,7)} 將返回 14 (2 5 7) 并將結(jié)果存儲(chǔ)在 MYVAR 變量中。
- {__intSum(1,2,5,${MYVAR})} 如果 MYVAR 值等于8、1 2 5 {MYVAR}, 則返回16
__longSum
longSum 函數(shù)可用于計(jì)算兩個(gè)或多個(gè)長(zhǎng)值的總和, 而當(dāng)您知道值不會(huì)在間隔-2147483648 到2147483647中時(shí), 請(qǐng)使用此方法而不是 __intSum。
- {__longSum(2,5,MYVAR)} 將返回 7 (2 5) 并將結(jié)果存儲(chǔ)在 MYVAR 變量中。因此 {MYVAR} 將等于7。
- ${__longSum(2,5,7)} 將返回 14 (2 5 7) 并將結(jié)果存儲(chǔ)在 MYVAR 變量中。
- {__longSum(1,2,5,${MYVAR})} 如果 MYVAR 值等于8、1 2 5 {MYVAR}, 則返回16
__StringFromFile
StringFromFile 函數(shù)可用于從文本文件讀取字符串。這對(duì)于運(yùn)行需要大量可變數(shù)據(jù)的測(cè)試非常有用。例如, 在測(cè)試銀行應(yīng)用程序時(shí), 可能需要使用不同帳號(hào)的100s 或1000s。
另請(qǐng)參閱可更易于使用的 CSV 數(shù)據(jù)集配置測(cè)試元素。但是, 當(dāng)前不支持多個(gè)輸入文件。 每次被調(diào)用時(shí), 它會(huì)從文件中讀取下一行。所有線程共享相同的實(shí)例, 因此不同的線程將得到不同的行。當(dāng)?shù)竭_(dá)文件末尾時(shí), 它將從一開(kāi)始重新開(kāi)始讀取, 除非已達(dá)到最大循環(huán)計(jì)數(shù)。如果在測(cè)試腳本中有多個(gè)對(duì)該函數(shù)的引用, 則每個(gè)文件都將獨(dú)立打開(kāi)它, 即使文件名相同。[如果該值將再次用于其他位置, 請(qǐng)對(duì)每個(gè)函數(shù)調(diào)用使用不同的變量名。
函數(shù)實(shí)例在線程之間共享, 并且該文件 (重新打開(kāi)) 由任何線程碰巧需要下一行輸入, 因此使用 threadNumber 作為文件名的一部分將導(dǎo)致不可預(yù)知的行為。
如果打開(kāi)或讀取文件時(shí)出現(xiàn)錯(cuò)誤, 則該函數(shù)將返回字符串 '** 錯(cuò)誤 **'
- ${__StringFromFile(PIN#'.'DAT,,1,2)}-讀取 PIN1.DAT, PIN2.DAT
- ${__StringFromFile(PIN.DAT,,,2)}-讀取 PIN2.DAT 兩次
__machineName
machineName 函數(shù)返回本地主機(jī)名。這將使用 Java 方法 InetAddress getLocalHost () 并將其傳遞到 getHostName ()
Examples:
${__machineName()} 將返回計(jì)算機(jī)的主機(jī)名
${__machineName} 將返回計(jì)算機(jī)的主機(jī)名
__machineIP
machineIP 函數(shù)返回本地 IP 地址。這將使用 Java 方法 InetAddress getLocalHost () 并將其傳遞到 getHostAddress ()
- ${__machineIP()} 將返回計(jì)算機(jī)的 IP 地址
- ${__machineIP} 將返回計(jì)算機(jī)的 IP 地址
__javaScript
javascript 函數(shù)執(zhí)行一條 javascript (不是 Java) 代碼并返回其值 JMeter javascript 函數(shù)調(diào)用獨(dú)立的 javascript 解釋器。
Javascript 被用作腳本語(yǔ)言, 因此您可以進(jìn)行計(jì)算等。
javaScript 不是 JMeter 中性能最好的腳本語(yǔ)言。如果您的計(jì)劃需要大量的線程, 建議使用 jexl3 或 __groovy 函數(shù)。
${__javaScript('${sp}'.slice(7\,99999))} 7后的逗號(hào)被轉(zhuǎn)義。
Examples:
- ${__javaScript(new Date())} 將返回 Sat 2016年1月09日 16:22:15 GMT 0100 (英語(yǔ))
- ${__javaScript(new Date(),MYDATE)} 將返回星期六 2016年1月09日 16:22:15 GMT 0100 (CET) 和存儲(chǔ)在可變 MYDATE
- ${__javaScript(Math.floor(Math.random()*(${maxRandom}+1)),MYRESULT)}
將使用 maxRandom 變量, 返回一個(gè)介于0和 maxRandom 之間的隨機(jī)值, 并將其存儲(chǔ)在 MYRESULT
__Random
隨機(jī)函數(shù)返回位于給定最小值和最大數(shù)值之間的隨機(jī)數(shù)。
${__Random(0,10)} 將返回介于0和10之間的隨機(jī)數(shù)
{__Random(0,10, MYVAR)} 將返回一個(gè)介于0和10之間的隨機(jī)數(shù)字, 并將其存儲(chǔ)在 MYVAR 中。 {MYVAR} 將包含隨機(jī)數(shù)
__RandomDate
RandomDate 函數(shù)返回位于給定開(kāi)始日期和結(jié)束日期值之間的隨機(jī)日期。
- ${__RandomDate(,,2050-07-08,,)}將返回到現(xiàn)在和2050-07-08 之間的隨機(jī)日期。例如2039-06-21
- ${__RandomDate(dd MM yyyy,,08 07 2050,,)}將返回一個(gè)自定義格式的隨機(jī)日期, 如 04 03 2034
__RandomString
RandomString 函數(shù)返回一個(gè)隨機(jī)長(zhǎng)度字符串, 使用字符在字符中使用。
- ${__RandomString(5)}將返回一個(gè)隨機(jī)字符串的5個(gè)字符, 可讀或不
- ${__RandomString(10,abcdefg)}將返回一個(gè)隨機(jī)字符串10字符從 abcdefg 集, 如 cdbgdbeebd 或 adbfeggfad,..。
- ${__RandomString(6,a12zeczclk, MYVAR)} 將返回從 a12zeczclk 集選取的隨機(jī)字符串6個(gè)字符, 并將結(jié)果存儲(chǔ)在 MYVAR 中, MYVAR 將包含字符串, 如2z22ak 或 z11kce..。
__RandomFromMultipleVars
RandomFromMultipleVars 函數(shù)根據(jù)源變量提供的變量值返回一個(gè)隨機(jī)值。
- ${__RandomFromMultipleVars(val)}將返回一個(gè)基于變量的內(nèi)容的隨機(jī)字符串考慮到它們是否是多值或不
- ${__RandomFromMultipleVars(val1|val2)} 將返回一個(gè)隨機(jī)字符串基于變量的內(nèi)容 val1 和 val2 考慮到它們是否是多值或不
- ${__RandomFromMultipleVars(val1|val2, MYVAR)}將返回一個(gè)基于變量?jī)?nèi)容的隨機(jī)字符串 val1 和 val2 考慮到它們是否是多值的, 并將結(jié)果存儲(chǔ)在 MYVAR
__UUID
UUID 函數(shù)返回一個(gè)偽隨機(jī)類(lèi)型4通用唯一標(biāo)識(shí)符 (uuid)。
${UUID()}將返回 UUIDs 的格式: c69e0dd1-ac6b-4f2b-8d59-5d4e8743eecd
__CSVRead
CSVRead 函數(shù)從 CSV 文件中返回一個(gè)字符串 (雞毛 StringFromFile) 注意: JMeter 支持多個(gè)文件名。
首次遇到文件名時(shí), 文件將被打開(kāi)并讀取到內(nèi)部數(shù)組中。如果檢測(cè)到空行, 則將其視為文件的末尾-這允許使用尾隨注釋。 所有對(duì)同一文件名的后續(xù)引用都使用相同的內(nèi)部數(shù)組。注意文件名大小寫(xiě)對(duì)函數(shù)很重要, 即使操作系統(tǒng)不關(guān)心, 因此 CSVRead (.txt, 0) 和 CSVRead (abc, 0) 將引用不同的內(nèi)部數(shù)組。 '* 別名' 功能允許多次打開(kāi)同一文件, 并且允許更短的文件名。 每個(gè)線程都有自己的內(nèi)部指針到文件數(shù)組中的當(dāng)前行。當(dāng)線程第一次引用該文件時(shí), 它將被分配到數(shù)組中的下一個(gè)可用行, 因此每個(gè)線程將從所有其他線程訪問(wèn)其他行。[除非有比數(shù)組中的行多的線程。
默認(rèn)情況下, 函數(shù)在每個(gè)逗號(hào)處拆分該行。如果要輸入包含逗號(hào)的列, 則需要將分隔符更改為不出現(xiàn)在任何列數(shù)據(jù)中的字符, 通過(guò)設(shè)置屬性: csvread. 分隔符
例如, 可以按如下方式設(shè)置一些變量:
COL1a ${__CSVRead(random.txt,0)}
COL2a {__CSVRead(random.txt,1)}{__CSVRead(random.txt,next)}
COL1b ${__CSVRead(random.txt,0)}
COL2b {__CSVRead(random.txt,1)}{__CSVRead(random.txt,next)}
這將讀取一行中的兩列, 以及下一個(gè)可用行中的兩列。如果在相同的用戶參數(shù)前處理器上定義了所有變量, 則這些行將是連續(xù)的。否則, 另一個(gè)線程可能會(huì)抓取下一行。
該函數(shù)不適合用于大型文件, 因?yàn)檎麄€(gè)文件存儲(chǔ)在內(nèi)存中。對(duì)于較大的文件, 請(qǐng)使用 CSV 數(shù)據(jù)集配置元素或 StringFromFile。
__property
屬性函數(shù)返回 JMeter 屬性的值。如果找不到屬性值, 并且未提供默認(rèn)設(shè)置, 則返回屬性名稱(chēng)。提供默認(rèn)值時(shí), 不需要提供函數(shù)名-參數(shù)可以設(shè)置為 null, 并且將被忽略。
- ${__property(user.dir)} - 返回值為 user.dir
- ${__property(user.dir,UDIR)} - 返回值為user.dir 并保存在 UDIR
- ${__property(abcd,ABCD,atod)} - 返回值屬性為 abcd (或 "atod"如果沒(méi)有定義) 并保存在ABCD中
- ${__property(abcd,,atod)} - 返回值屬性為 abcd (或 "atod"如果沒(méi)有定義) 但不保存它
__P
這是一個(gè)簡(jiǎn)化的屬性函數(shù), 用于與命令行上定義的屬性一起使用。與 __property 函數(shù)不同, 沒(méi)有選項(xiàng)保存變量中的值, 如果沒(méi)有提供默認(rèn)值, 則假定為1。選擇了1的值, 因?yàn)樗鼘?duì)常見(jiàn)的測(cè)試變量 (如循環(huán)、線程計(jì)數(shù)、坡道等) 有效。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
spring?boot教程之IDEA環(huán)境下的熱加載與熱部署
這篇文章主要介紹了spring?boot系列教程中的IDEA環(huán)境下的熱加載與熱部署的相關(guān)資料,需要的朋友可以參考下2022-09-09tdesign的文件上傳功能實(shí)現(xiàn)(微信小程序+idea的springboot)
這篇文章主要介紹了tdesign的文件上傳(微信小程序+idea的springboot)的相關(guān)知識(shí),本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-09-09使用MUI框架構(gòu)建App請(qǐng)求http接口實(shí)例代碼
下面小編就為大家分享一篇使用MUI框架構(gòu)建App請(qǐng)求http接口實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01spring?boot項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接
在我們?nèi)粘5拈_(kāi)發(fā)過(guò)程中,肯定不可避免的會(huì)使用到數(shù)據(jù)庫(kù)以及SQL?語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于spring?boot項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05