Jmeter內(nèi)置變量vars和props的使用詳解
vars 變量
vars 變量是線程本地變量,它們只能在同一線程組內(nèi)的所有線程中使用(線程組內(nèi)不同線程之間變量不共享)。每個(gè)線程都有自己的一組 vars 變量。vars 變量可以通過(guò)如下方式設(shè)置和訪問(wèn):
在非 beanshell 環(huán)境里面可以使用 ${varName}
語(yǔ)法訪問(wèn)變量的值。
訪問(wèn)變量
在 beanshell 環(huán)境里面可以使用 vars.get("varName")
語(yǔ)法訪問(wèn)變量的值,vars.put("varName", "value")
語(yǔ)法設(shè)置變量的值。
設(shè)置變量
在 JMeter 中,vars 變量通常用于在測(cè)試執(zhí)行期間動(dòng)態(tài)生成值,如從響應(yīng)中提取數(shù)據(jù)并將其存儲(chǔ)在變量中以供后續(xù)請(qǐng)求使用。
props 變量
props 變量是全局變量,它們可以在任何線程組中使用。所有線程共享同一組 props 變量。props 變量可以通過(guò)如下方式設(shè)置和訪問(wèn):
在非 beanshell 環(huán)境里面可以使用${__P(propName)}
語(yǔ)法訪問(wèn)變量的值。
訪問(wèn)變量
在 beanshell 環(huán)境里面可以使用 props.get("propName")
語(yǔ)法訪問(wèn)變量的值, props.put("propName", "value")
語(yǔ)法設(shè)置變量的值。
設(shè)置變量
在 JMeter 中,props 變量通常用于在測(cè)試執(zhí)行期間傳遞數(shù)據(jù),如測(cè)試參數(shù),即使在不同的線程組之間也可以使用。
區(qū)別
vars 只能在當(dāng)前線程組內(nèi)使用(線程組內(nèi)不同線程之間變量不共享),props 可以跨線程組使用 vars 只能保持String 或者Object, props 是 Hashtable 對(duì)象
vars:
1、本質(zhì)是Map,是單個(gè)線程的本地屬性,能在beanshell里面進(jìn)行賦值和取值
2、示例
vars.get("saleOrderCode"); // 讀取字符串變量saleOrderCode vars.put("manufacturingOrderCode",vars.get("saleOrderCode").replace('S','M')); //賦值變量manufacturingOrderCode
3、如果要在非beanshell里面進(jìn)行取值可以使用${變量名}。注意:此時(shí)Http Request和BeanShell Sampler在同一個(gè)線程組內(nèi)
props:
1、本質(zhì)是Map,是jmeter全局變量(也即屬性)的引用,能在beanshell里面進(jìn)行賦值和取值
2、示例
props.put("ssoToken",${ssoToken}); //將Json提取器中的ssoToken,設(shè)置為全局變量,方便其他線程使用
3、如果要在非beanshell里面進(jìn)行取值可以使用jmeter內(nèi)置函數(shù):${__property(變量名)}
注意:${__property()}函數(shù)中,變量名不需要加引號(hào)
如:${__property(usernameProp)}
。注意:此時(shí)Http Request和BeanShell Sampler在可以在不同線程組
4、也可以使用
${__BeanShell(props.get(“變量名”),)}
注意:${__BeanShell()}函數(shù)是創(chuàng)建了一個(gè)小型的java環(huán)境,可以直接執(zhí)行一些簡(jiǎn)單的表達(dá)式
如:${__BeanShell(props.get("usernameProp"),)}
以上就是Jmeter內(nèi)置變量vars和props的使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Jmeter vars和props的使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java JDK動(dòng)態(tài)代理(AOP)的實(shí)現(xiàn)原理與使用詳析
所謂代理,就是一個(gè)人或者一個(gè)機(jī)構(gòu)代表另一個(gè)人或者另一個(gè)機(jī)構(gòu)采取行動(dòng)。下面這篇文章主要給大家介紹了關(guān)于Java JDK動(dòng)態(tài)代理(AOP)實(shí)現(xiàn)原理與使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-07-07java實(shí)現(xiàn)搶紅包算法(公平版和手速版)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)搶紅包算法,分為公平版和手速版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09Java 實(shí)戰(zhàn)項(xiàng)目錘煉之醫(yī)院門(mén)診收費(fèi)管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+html+jdbc+mysql實(shí)現(xiàn)一個(gè)醫(yī)院門(mén)診收費(fèi)管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11Java新特性之Nashorn_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java新特性之Nashorn的相關(guān)資料,需要的朋友可以參考下2017-06-06使用Spring特性實(shí)現(xiàn)接口多實(shí)現(xiàn)類的動(dòng)態(tài)調(diào)用方式
這篇文章主要介紹了使用Spring特性實(shí)現(xiàn)接口多實(shí)現(xiàn)類的動(dòng)態(tài)調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02