免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
jmeter函數(shù)和變量(二)

接上篇 jmeter函數(shù)和變量 http://blog.csdn.net/yue530tomtom/article/details/76651040

__javaScript

函數(shù)__javaScript可以用來執(zhí)行JavaScript代碼片段(非Java),并返回結(jié)果值。JMeter的__javaScript函數(shù)會調(diào)用標(biāo)準(zhǔn)的javascript解釋器。JavaScript會作為腳本語言使用,因此可以做相應(yīng)的計(jì)算。
在腳本中可以訪問如下一些變量。

  • Log:該函數(shù)的日志記錄器。

  • Ctx:JmeterContext對象。

  • Vars:JmeterVariables對象。

  • threadName:字符串包含當(dāng)前線程名稱 。

  • sampler:當(dāng)前采樣器對象(如果存在)。

  • sampleResult:前面的采樣結(jié)果對象(如果存在)。

  • props:JMeter屬性對象。

Rhinoscript允許通過它的包對象來訪問靜態(tài)方法。例如,用戶可以使用如下方法訪問JMeterContextService靜態(tài)方法:
Packages.org.apache.jmeter.threads.JMeterContextService.getTotalThreads()

JMeter不是一款瀏覽器,它不會執(zhí)行從頁面下載的JavaScript。

AttributeDescriptionRequired
表達(dá)式函數(shù)執(zhí)行的JavaScript表達(dá)式例如:new Date()
變量引用名,保存函數(shù)返回值,以便復(fù)用

請記得為文本字符串添加必要的引號。另外,如果表達(dá)式中有逗號,請確保對其轉(zhuǎn)義。例如,${__javaScript(‘${sp}’.slice(7,99999))},對7之后的逗號進(jìn)行了轉(zhuǎn)義。

${__javaScript(new Date())}:返回一個(gè)日期
${__javaScript(new Date(),MYDATE)}:返回當(dāng)前日期并存儲在變量MYDATE中
${__javaScript(Math.floor(Math.random()*(${maxRandom}+1)),MYRESULT)}:使用變量maxRandom,返回0-maxRandom之間的一個(gè)隨機(jī)數(shù)并存儲在MYRESULT中
${__javaScript(${minRandom}+Math.floor(Math.random()*(${maxRandom}-${minRandom}+1)),MYRESULT)}:使用maxRandom和minRandom變量,返回一個(gè)minRandom~maxRandom之間的一個(gè)隨機(jī)數(shù)并存儲在MYRESULT中
${__javaScript(“${VAR}”==”abcd”,MYRESULT)}:比較VAR變量值是否等于”abcd”的值,返回boolean值并存儲在MYRESULT中

__Random

函數(shù)__Random會返回指定最大值和最小值之間的隨機(jī)數(shù)

AttributeDescriptionRequired
最小值數(shù)值
最大值一個(gè)比第一個(gè)大的數(shù)值
變量引用名,保存函數(shù)返回值,以便復(fù)用

?

__RandomString

返回一個(gè)固定長度的隨機(jī)字符串,在缺省第二個(gè)參數(shù)時(shí),即使指定了jmeter的字符編碼也可能會出現(xiàn)亂碼。

AttributeDescriptionRequired
Length將要?jiǎng)?chuàng)建的隨機(jī)字符串的長度
使用字符創(chuàng)建隨機(jī)字符串使用的字符集
變量引用名,保存函數(shù)值,壁邊復(fù)用

?

__RandomFromMultipleVars

函數(shù)返回基于指定的變量產(chǎn)生的隨機(jī)值
變量可以是簡單的變量也可以是表達(dá)式形式的復(fù)雜變量例如

  • Regular Expression Extractor

  • CSS/JQuery Extractor

  • JSON Extractor

  • XPath Assertion

多值變量是從表達(dá)式提取出來的,這樣會創(chuàng)建一個(gè)匹配總數(shù)的變量”varName_matchNr” 并且會為每個(gè)變量創(chuàng)建varName_n,其中n=1,2,3……等

AttributeDescriptionRequired
變量列表使用|分割的變量名列表
變量引用名,保存函數(shù)值,壁邊復(fù)用

?

__UUID

用來生成一個(gè)附機(jī)字符串,格式類似8e9464d2-4561-453e-8005-ad0a44507640

__CSVRead

函數(shù)__CSVRead會從CSV文件讀取一個(gè)字符串(請注意與StringFromFile 的區(qū)別)。
JMeter3.2支持從多個(gè)文件中讀取(其實(shí)從JMeter 1.9.1+就開始支持)。
當(dāng)對某個(gè)文件進(jìn)行第一次讀取時(shí),文件將被打開并讀取到一個(gè)內(nèi)部數(shù)組中。如果在讀取過程中找到了空行,函數(shù)就認(rèn)為到達(dá)文件末尾。
后續(xù)所有對同一個(gè)文件名的引用,都使用相同的內(nèi)部數(shù)組。另外,文件名大小寫對函數(shù)調(diào)用很重要,哪怕操作系統(tǒng)不區(qū)分大小寫,CSVRead(abc.txt,0)和CSVRead(aBc.txt,0)會引用不同的內(nèi)部數(shù)組。
使用*ALIAS特性可以多次打開同一個(gè)文件,另外還能縮減文件名稱。
每一個(gè)線程都有獨(dú)立的內(nèi)部指針指向文件數(shù)組中的當(dāng)前行。當(dāng)某個(gè)線程第一次引用文件時(shí),函數(shù)會為線程在數(shù)組中分配下一個(gè)空閑行。如此一來,任何一個(gè)線程訪問的文件行,都與其他線程不同[除非線程數(shù)大于數(shù)組包含的行數(shù)]。

默認(rèn)情況下,使用都好分割每一行的數(shù)據(jù)。如果希望在輸入的列中使用逗號,那么需要換一個(gè)分隔符(通過設(shè)置屬性csvread.delimiter來實(shí)現(xiàn)),且該符號沒有在CSV文件的任何列中出現(xiàn)。

AttributeDescriptionRequired
文件名需要讀入的文件名(或者別名)
列序號文件中第幾個(gè)域(就是指定字符分割后第幾塊,從0編號開始)。0表示第一個(gè)域,1表示第二個(gè)域……。next表示跳過當(dāng)前行,到文件下一行。*ALIAS為打開的文件分配一個(gè)別名

?


上面的例子會從一行中讀取兩列,接著從下一行中讀取兩列。如果所有變量都在同一個(gè)前置處理器中(用戶參數(shù)上定義的),那么行都是順序讀取的。否則,不同線程可能會讀取不同的行。

這一函數(shù)并不適合于讀取很大的文件,因?yàn)檎麄€(gè)文件都會被存儲到內(nèi)存之中。對于較大的文件,請使用配置元件CSV Data Set或者StringFromFile 。

__property

函數(shù)__property會返回一個(gè)JMeter屬性的值。如果函數(shù)找不到屬性值,而又沒有提供默認(rèn)值,則它會返回屬性的名稱。
例如,
${__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ù)的返回值。

AttributeDescriptionRequired
屬性名獲取屬性值、所需的屬性名
變量名重用函數(shù)計(jì)算值的引用名
默認(rèn)值屬性未定義時(shí)的默認(rèn)值

?
什么?不知道jmeter屬性名如何查看?
WorkBench右鍵—>Add—>Non Test Elements—>Property Display

__P

類似__property,處理命令行中屬性,和__property不同,__P不會保存屬性值,如果沒有指定默認(rèn)值就假定為1
官網(wǎng)例子定義屬性值:

jmeter -Jgroup1.threads=7 -Jhostname1=www.realhost.edu

獲取值如下。
${__P(group1.threads)}:返回屬性group1.threads的值。
${__P(group1.loops)}:返回屬性group1.loops 的值。
${__P(hostname,www.dummy.org)}:返回屬性hostname的值,如果沒有定義該屬性則返回值www.dummy.org。

在上面的例子中,第一個(gè)函數(shù)調(diào)用返回7,第二個(gè)函數(shù)調(diào)用返回1,而最后一個(gè)函數(shù)調(diào)用返回www.dummy.org(除非這些屬性在其他地方有定義)

AttributeDescriptionRequired
屬性名獲取屬性值、所需的屬性名
默認(rèn)值屬性未定義時(shí)的默認(rèn)值,未指定就假定是1
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JMeter學(xué)習(xí)(十六)JMeter函數(shù)學(xué)習(xí)
Jmeter參數(shù)化的4種方法
JMeter24個(gè)常用函數(shù)(二)
Jmeter參數(shù)化與關(guān)聯(lián)--資料收集未整理
JMeter常用函數(shù)整理
深入理解JavaScript閉包(closure) – Felix Woo
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服