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 同一執行緒組中的取樣器和其他執行緒組中的取樣器分別...