Jmeter跨執行緒組呼叫token

2022-03-03 15:27:30 字數 3241 閱讀 3467

1.正則提取token後新增:後置處理器-->beanshell postprocessor

2.beanshell postprocessor寫入函式$

3.執行緒2中寫入函式$呼叫,我的直接寫入資訊頭管理器

4.主要用到兩個函式

5.檢視執行結果是否調取成功

終於搞定了jmeter跨執行緒組之間傳遞引數,這樣就不用每次傳送請求b之前,都需要同時傳送一下登入介面(因為同乙個執行緒組下的請求是同時傳送的),只需要傳送一次登入請求,請求b直接用登入請求的引數即可,直到登入介面的引數失效了,需再次傳送一次登入介面,又可以多次使用其引數,下面舉例子:

1.登入介面中利用 json path extractor 獲取到登入介面的響應引數,(怎麼獲取上一節講過)

響應結果是如下

2.在登入介面下新增 beanshell postprocessor ,並寫入指令碼如下:

3.在介面b下新增beanshell preprocessor,並編寫指令碼

4.在需要用到登入介面引數的地方,$  引用變數即可

以上用json path extractor 的地方均可以用正規表示式來完成,由於本人對於正規表示式理解起來實在有點費勁,所以就在jmeter下安裝的外掛程式

方法二:

1.登入介面中利用 json path extractor 獲取到登入介面的響應引數,(怎麼獲取上一節講過)

2.在登入介面下新增 beanshell postprocessor ,並寫入指令碼如下:

string x-timestamp=bsh.args[0];

print (x-timestamp);

$,)};

string x-signature=bsh.args[1];

print (x-signature);

$,)};

string x-nonce=bsh.args[2];

print (x-nonce);

$,)};

此種是設定全域性變數的形式

3.在介面b中直接引用全域性變數即可   $  

如此,介面b即可能獲取到跨執行緒組登入介面的響應引數

****************************************==

對比以上兩種跨執行緒組傳遞引數的方法方法二更方便些,設定為全域性變數後,其他只要用到登入介面引數的執行緒組,均可以直接引用,無需像方法一 一樣新增beanshell preprocessor

終於搞定了jmeter跨執行緒組之間傳遞引數,這樣就不用每次傳送請求b之前,都需要同時傳送一下登入介面(因為同乙個執行緒組下的請求是同時傳送的),只需要傳送一次登入請求,請求b直接用登入請求的引數即可,直到登入介面的引數失效了,需再次傳送一次登入介面,又可以多次使用其引數,下面舉例子:

1.登入介面中利用 json path extractor 獲取到登入介面的響應引數,(怎麼獲取上一節講過)

響應結果是如下

2.在登入介面下新增 beanshell postprocessor ,並寫入指令碼如下:

3.在介面b下新增beanshell preprocessor,並編寫指令碼

4.在需要用到登入介面引數的地方,$  引用變數即可

以上用json path extractor 的地方均可以用正規表示式來完成,由於本人對於正規表示式理解起來實在有點費勁,所以就在jmeter下安裝的外掛程式

方法二:

1.登入介面中利用 json path extractor 獲取到登入介面的響應引數,(怎麼獲取上一節講過)

2.在登入介面下新增 beanshell postprocessor ,並寫入指令碼如下:

string x-timestamp=bsh.args[0];

print (x-timestamp);

$,)};

string x-signature=bsh.args[1];

print (x-signature);

$,)};

string x-nonce=bsh.args[2];

print (x-nonce);

$,)};

此種是設定全域性變數的形式

3.在介面b中直接引用全域性變數即可   $  

如此,介面b即可能獲取到跨執行緒組登入介面的響應引數

****************************************==

對比以上兩種跨執行緒組傳遞引數的方法方法二更方便些,設定為全域性變數後,其他只要用到登入介面引數的執行緒組,均可以直接引用,無需像方法一 一樣新增beanshell preprocessor

jmeter 跨執行緒組呼叫變數

在使用時要注意執行緒組的執行順序,需要勾選測試計畫裡的獨立執行每個執行緒組按鈕。還需要注意設定全域性變數的後置處理器應該是在第乙個執行緒組 即提取區域性變數的那個執行緒組 一 beanshell自帶方法 props.put 變數名 值 全域性變數賦值 props.get 變數名 獲取全域性變數 二 ...

jmeter(三)跨執行緒組呼叫token

其實之所以想要這個跨執行緒組呼叫token,是因為公司的登入介面同乙個使用者只能登入一次,所以才開始研究 1.考慮過僅一次控制器,但是僅一次控制器針對的是每乙個執行緒組僅一次,也就是說當我是多個執行緒組執行時,除非是使用者做成參賽,多個執行緒組就會有多個token,不符合我的要求 要麼就是設至乙個執...

Jmeter跨執行緒組傳參

我們知道,同一執行緒組中可以通過 正規表示式提取器 獲取其中乙個取樣器的響應結果中的引數,直接傳給執行緒組中的其他取樣器。但其他執行緒組中的取樣器也想使用同樣的引數時,無法直接獲取。舉個例子 提取 登入 取樣器響應結果中的token的值 token 同一執行緒組中的取樣器和其他執行緒組中的取樣器分別...