jmeter跨線程傳參

jmeter跨線程傳參

轉自:https://www.cnblogs.com/superbears/p/7041723.html
終於搞定了Jmeter跨線程組之間傳遞參數,這樣就不用每次發送請求B之前,都需要同時發送一下登錄接口(因爲同一個線程組下的請求是同時發送的),只需要發送一次登錄請求,請求B直接用登錄請求的參數即可,直到登錄接口的參數失效了,需再次發送一次登錄接口,又可以多次使用其參數,下面舉例子:

1.登錄接口中利用 Json Path Extractor 獲取到登錄接口的響應參數,(怎麼獲取上一節講過)
在這裏插入圖片描述
響應結果是如下
在這裏插入圖片描述
2.在登錄接口下添加 BeanShell PostProcessor ,並寫入腳本如下:
在這裏插入圖片描述

3.在接口B下添加BeanShell PreProcessor,並編寫腳本
在這裏插入圖片描述

4.在需要用到登錄接口參數的地方,${ } 引用變量即可

在這裏插入圖片描述

以上用Json Path Extractor 的地方均可以用正則表達式來完成,由於本人對於正則表達式理解起來實在有點費勁,所以就在jmeter下安裝的插件
來源: http://write.blog.csdn.net/postedit/72873181

方法二:

1.登錄接口中利用 Json Path Extractor 獲取到登錄接口的響應參數,(怎麼獲取上一節講過)

2.在登錄接口下添加 BeanShell PostProcessor ,並寫入腳本如下:

String X-Timestamp=bsh.args[0];

print (X-Timestamp);

KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{X-Timestamp},)};

String X-Signature=bsh.args[1];

print (X-Signature);

KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{X-Signature},)};

String X-Nonce=bsh.args[2];

print (X-Nonce);

KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{X-Nonce},)};
在這裏插入圖片描述

此種是設置全局變量的形式
3.在接口B中直接引用全局變量即可 ${__P(newstamp,)}
在這裏插入圖片描述

如此,接口B即可能獲取到跨線程組登錄接口的響應參數
對比以上兩種跨線程組傳遞參數的方法方法二更方便些,設置爲全局變量後,其他只要用到登錄接口參數的線程組,均可以直接引用,無需像方法一 一樣添加Beanshell PreProcessor

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章