jmeter跨線程組傳遞token


遇到一些綜合場景的設置,每個不同的請求並發數設置不同的時候,可以用多個線程組的組合來實現,但是這個時候,會遇到一個問題,那就是jmeter各個線程組之間是相互獨立的,各個線程互不影響,所以線程組A中輸出的參數,無法直接在線程組B中調用。

拿token來說,雖然每一個線程組中我們也可以在放一個登錄請求,然后輸出一個token供此線程組使用,但這樣就比較繁瑣且冗余。此時我們就可以使用跨線程組傳遞參數來解決這樣的問題。

接下來,我們看下這個例子:

要發送短信,必須要先登錄,才能發送。

實現思路:

在登錄請求中添加一個正則表達式提取器,提取響應值中的token的值。然后再添加一個 Bean Shell PostProcessor 的后置處理器,在這個處理器中調用“__setProperty”函數,設置正則提取到的token的值為全局變量。然后在另外一個線程組中添加一個其他需要用到此token的請求,通過函數“__P”來調用token。

具體步驟:

1、在測試計划下添加一個線程組setUp Thread Group,然后把登錄請求添加到該線程下,在登錄請求下添加正則表達式提取器和BeanShell PostProcessor

 

 

 

 

 

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

 

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

 

 至此,跨線程組的參數調用就實現了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM