1. 程式人生 > 程式設計 >基於jmeter實現跨執行緒組傳遞token過程圖解

基於jmeter實現跨執行緒組傳遞token過程圖解

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

拿token來說,雖然每一個執行緒組中我們也可以在放一個登入請求,然後輸出一個token供此執行緒組使用,但這樣就比較繁瑣且冗餘。此時我們就可以使用跨執行緒組傳遞引數來解決這樣的問題。

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

要傳送簡訊,必須要先登入,才能傳送。

實現思路:

在登入請求中新增一個正則表示式提取器,提取響應值中的token的值。然後再新增一個 Bean Shell PostProcessor 的後置處理器,在這個處理器中呼叫“__setProperty”函式,設定正則提取到的token的值為全域性變數。然後在另外一個執行緒組中新增一個其他需要用到此token的請求,通過函式“__P”來呼叫token。

具體步驟:

1、在測試計劃下新增一個執行緒組setUp Thread Group,然後把登入請求新增到該執行緒下,在登入請求下新增正則表示式提取器和BeanShell PostProcessor

基於jmeter實現跨執行緒組傳遞token過程圖解

注意,BeanShell PostProcessor中引數和指令碼設定。在Script中輸入${__setProperty(jsessionid,${token},)}

基於jmeter實現跨執行緒組傳遞token過程圖解

2、再新增一個執行緒組,把發簡訊的請求,新增在該執行緒組下面。在這個執行緒組下新增HTTP Cookie 管理器,呼叫上面的執行緒組的Token.

基於jmeter實現跨執行緒組傳遞token過程圖解

至此,跨執行緒組的引數呼叫就實現了。

基於jmeter實現跨執行緒組傳遞token過程圖解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。