溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JMeter接口依賴的情況是什么

發(fā)布時(shí)間:2021-12-07 17:17:06 來(lái)源:億速云 閱讀:374 作者:iii 欄目:軟件技術(shù)

這篇文章主要介紹“JMeter接口依賴的情況是什么”,在日常操作中,相信很多人在JMeter接口依賴的情況是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”JMeter接口依賴的情況是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

主要有兩種情況:

  1. 同一線程組,不同的請(qǐng)求之間,需要關(guān)聯(lián)。

    請(qǐng)求B失敗了(因?yàn)樾枰P(guān)聯(lián)),那么從請(qǐng)求B之前的請(qǐng)求,比如請(qǐng)求A,并且從響應(yīng)數(shù)據(jù)中,

    尋找需要關(guān)聯(lián)的內(nèi)容,比如token、sessionid等,關(guān)聯(lián)之后,作為請(qǐng)求B的請(qǐng)求數(shù)據(jù),再次提交B請(qǐng)求

    JMeter接口依賴的情況是什么

    在請(qǐng)求A上右鍵--添加---后置處理器---邊界提取器

 JMeter接口依賴的情況是什么

    把請(qǐng)求B參數(shù)中的實(shí)際的token,用關(guān)聯(lián)的token變量來(lái)替換

    JMeter接口依賴的情況是什么

    再次運(yùn)行,關(guān)聯(lián)成功,請(qǐng)求B成功。

2.不同線程組,不同的請(qǐng)求之間,有依賴關(guān)系。

測(cè)試計(jì)劃結(jié)構(gòu)如下:

JMeter接口依賴的情況是什么

由上圖可以看出,線程組1中,有登陸接口;線程組2中,有加入購(gòu)物車接口。

加入購(gòu)物車請(qǐng)求,需要cookie,如果拿不到,就代表沒(méi)有登陸,也就無(wú)法加入購(gòu)物車。

一般來(lái)說(shuō),添加HTTP Cookie Manager就可以。由上圖可以看到,已經(jīng)添加了,跟兩個(gè)線程組是并列的。

JMeter接口依賴的情況是什么

但是,運(yùn)行之后,先執(zhí)行的加入購(gòu)物車接口,再執(zhí)行的登陸接口,這就導(dǎo)致加入購(gòu)物車時(shí)還沒(méi)有登陸。

        JMeter接口依賴的情況是什么

    為什么沒(méi)有按照順序執(zhí)行線程1和線程2呢?

    這是因?yàn)椋绻麥y(cè)試計(jì)劃下有多個(gè)線程組時(shí),他們不是順序執(zhí)行,是同時(shí)執(zhí)行,不一定是誰(shuí)先誰(shuí)后。

    那么,怎么樣讓他們按照嚴(yán)格的順序來(lái)執(zhí)行呢?

    在測(cè)試計(jì)劃下,勾選“獨(dú)立運(yùn)行每個(gè)線程組”,就可以讓這倆按照順序執(zhí)行了。

    JMeter接口依賴的情況是什么

    勾選之后,再次運(yùn)行,嚴(yán)格按照順序執(zhí)行了。

    但是,加入購(gòu)物車請(qǐng)求時(shí),仍提示去登陸。為什么呢?

    這是因?yàn)?,線程組1登陸請(qǐng)求的cookie,它是一個(gè)線程變量,是局部變量,作用域是它所在的線程組。

    那么,怎么讓它作用于它之外的線程組呢?

    思路:把這個(gè)線程變量的值使用vars.get()取出來(lái),然后利用props.put()放到全局變量中。

              需要注意:放入之后,需要重啟jmeter,屬性才能生效(線程變量無(wú)需重啟)。

              重啟之后,另一個(gè)線程組就可以訪問(wèn)這個(gè)全局變量了。

    操作如下:

    在線程組1中,對(duì)于登陸請(qǐng)求,添加后置處理器---BeanShell PostProcessor,代碼如下:

    JMeter接口依賴的情況是什么

    上圖可以看出,調(diào)整了HTTP Cookie Manager的位置,把它移動(dòng)到線程1下面,但無(wú)需配置cookie

    JMeter接口依賴的情況是什么

    在線程組2下面,也添加了一個(gè)HTTP Cookie Manager,用來(lái)獲取屬性(全局變量)cookie22中的值。

    利用函數(shù)__P 或者 __property,取出屬性(也就是這個(gè)全局變量)cookie22的值。

    注意:這里,不能使用${}這種格式來(lái)取值,因?yàn)檫@是屬性,不是變量,所以這里只能使用函數(shù)了

    

    JMeter接口依賴的情況是什么

    JMeter接口依賴的情況是什么

    然后,在HTTP Cookie管理器中,添加這個(gè)cookie(JSESSIONID),并粘貼上函數(shù)字符串

    JMeter接口依賴的情況是什么

    為什么這里要添加一個(gè)HTTP Cookie Manager,并且手動(dòng)添加cookie?

    因?yàn)槿绻皇謩?dòng)添加,cookie傳不過(guò)來(lái)。

    運(yùn)行,加入購(gòu)物車成功。

    JMeter接口依賴的情況是什么

總結(jié):以上,是對(duì)于不同線程組之間,cookie的傳遞問(wèn)題的解決方法。

          同理,如果是不同線程組之間,接口有關(guān)聯(lián)的情況,也是可以用這個(gè)方法。

因?yàn)橐陨线@個(gè)例子里,登陸 和 cartby請(qǐng)求分別在兩個(gè)線程組,所以就可以設(shè)置只運(yùn)行登陸一次,但進(jìn)行多次的cartby請(qǐng)求。

JMeter接口依賴的情況是什么

到此,關(guān)于“JMeter接口依賴的情況是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI