基于jmeter實現(xiàn)跨線程組傳遞token過程圖解
遇到一些綜合場景的設(shè)置,每個不同的請求并發(fā)數(shù)設(shè)置不同的時候,可以用多個線程組的組合來實現(xiàn),但是這個時候,會遇到一個問題,那就是jmeter各個線程組之間是相互獨立的,各個線程互不影響,所以線程組A中輸出的參數(shù),無法直接在線程組B中調(diào)用。
拿token來說,雖然每一個線程組中我們也可以在放一個登錄請求,然后輸出一個token供此線程組使用,但這樣就比較繁瑣且冗余。此時我們就可以使用跨線程組傳遞參數(shù)來解決這樣的問題。
接下來,我們看下這個例子:
要發(fā)送短信,必須要先登錄,才能發(fā)送。
實現(xiàn)思路:
在登錄請求中添加一個正則表達(dá)式提取器,提取響應(yīng)值中的token的值。然后再添加一個 Bean Shell PostProcessor 的后置處理器,在這個處理器中調(diào)用“__setProperty”函數(shù),設(shè)置正則提取到的token的值為全局變量。然后在另外一個線程組中添加一個其他需要用到此token的請求,通過函數(shù)“__P”來調(diào)用token。
具體步驟:
1、在測試計劃下添加一個線程組setUp Thread Group,然后把登錄請求添加到該線程下,在登錄請求下添加正則表達(dá)式提取器和BeanShell PostProcessor

注意,BeanShell PostProcessor中參數(shù)和腳本設(shè)置。在Script中輸入${__setProperty(jsessionid,${token},)}

2、再添加一個線程組,把發(fā)短信的請求,添加在該線程組下面。在這個線程組下添加HTTP Cookie 管理器,調(diào)用上面的線程組的Token.

至此,跨線程組的參數(shù)調(diào)用就實現(xiàn)了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一篇文章帶你了解Java容器,面板及四大布局管理器應(yīng)用
這篇文章主要介紹了JAVA布局管理器與面板組合代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-08-08
SpringBoot+ThreadLocal+AbstractRoutingDataSource實現(xiàn)動態(tài)切換數(shù)據(jù)源
最近在做業(yè)務(wù)需求時,需要從不同的數(shù)據(jù)庫中獲取數(shù)據(jù)然后寫入到當(dāng)前數(shù)據(jù)庫中,因此涉及到切換數(shù)據(jù)源問題,所以本文采用ThreadLocal+AbstractRoutingDataSource來模擬實現(xiàn)dynamic-datasource-spring-boot-starter中線程數(shù)據(jù)源切換,需要的朋友可以參考下2023-08-08

