jmeter跨线程组传多个值_Jmeter 跨线程组传递参数 之两种方法(转)
終于搞定了Jmeter跨線程組之間傳遞參數(shù),這樣就不用每次發(fā)送請(qǐng)求B之前,都需要同時(shí)發(fā)送一下登錄接口(因?yàn)橥粋€(gè)線程組下的請(qǐng)求是同時(shí)發(fā)送的),只需要發(fā)送一次登錄請(qǐng)求,請(qǐng)求B直接用登錄請(qǐng)求的參數(shù)即可,直到登錄接口的參數(shù)失效了,需再次發(fā)送一次登錄接口,又可以多次使用其參數(shù),下面舉例子:
1.登錄接口中利用 Json Path Extractor 獲取到登錄接口的響應(yīng)參數(shù),(怎么獲取上一節(jié)講過)
響應(yīng)結(jié)果是如下
2.在登錄接口下添加 BeanShell PostProcessor ,并寫入腳本如下:
3.在接口B下添加BeanShell PreProcessor,并編寫腳本
4.在需要用到登錄接口參數(shù)的地方,${ ?} ?引用變量即可
以上用Json Path Extractor 的地方均可以用正則表達(dá)式來完成,由于本人對(duì)于正則表達(dá)式理解起來實(shí)在有點(diǎn)費(fèi)勁,所以就在jmeter下安裝的插件
方法二:
1.登錄接口中利用 Json Path Extractor 獲取到登錄接口的響應(yīng)參數(shù),(怎么獲取上一節(jié)講過)
2.在登錄接口下添加 BeanShell PostProcessor ,并寫入腳本如下:
String X-Timestamp=bsh.args[0];
print (X-Timestamp);
${__setProperty(newstamp,${X-Timestamp},)};
String X-Signature=bsh.args[1];
print (X-Signature);
${__setProperty(newsig,${X-Signature},)};
String X-Nonce=bsh.args[2];
print (X-Nonce);
${__setProperty(newnonce,${X-Nonce},)};
此種是設(shè)置全局變量的形式
3.在接口B中直接引用全局變量即可 ??${__P(newstamp,)}
如此,接口B即可能獲取到跨線程組登錄接口的響應(yīng)參數(shù)
==========================================
對(duì)比以上兩種跨線程組傳遞參數(shù)的方法方法二更方便些,設(shè)置為全局變量后,其他只要用到登錄接口參數(shù)的線程組,均可以直接引用,無需像方法一 一樣添加Beanshell PreProcessor
標(biāo)簽:__,登錄,接口,發(fā)送,參數(shù),線程,Jmeter
來源: https://www.cnblogs.com/a00ium/p/10360180.html
總結(jié)
以上是生活随笔為你收集整理的jmeter跨线程组传多个值_Jmeter 跨线程组传递参数 之两种方法(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我国成功发射遥感三十七号卫星等3颗卫星
- 下一篇: easyui一行显示多行_easyui