終於搞定了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 ,並寫入指令碼如下:
此種是設定全域性變數的形式
3.在介面b中直接引用全域性變數即可 $
如此,介面b即可能獲取到跨執行緒組登入介面的響應引數
****************************************==
對比以上兩種跨執行緒組傳遞引數的方法方法二更方便些,設定為全域性變數後,其他只要用到登入介面引數的執行緒組,均可以直接引用,無需像方法一 一樣新增beanshell preprocessor
jmeter跨執行緒組傳遞引數
解決問題場景 只需要登入1次,其他介面需要呼叫多次。解決辦法 使用者登入設定為乙個執行緒組,其他介面設定為另乙個執行緒組。將登入執行緒組的執行緒數設定為1,其他介面的執行緒組設定為需要的執行緒數。將登入執行緒組的token值設定為全域性變數,將此token值設定到其他執行緒組的 http cooki...
Jmeter引數跨執行緒組傳遞
1 利用beanshell,請求 後置 beanshellpostprocessor scripts內寫 props.put user name 就是將u name的值傳給了user name這個引數是儲存在配置裡面 怎麼用新變數?這樣是把這個user name 寫進了jmeter放入屬性,那要從屬...
Jmeter跨執行緒傳遞引數
這裡有兩個問題 1.一般什麼情況下會用到跨執行緒?2.跨執行緒之間引數怎麼傳遞?一 一般什麼情況下會用到跨執行緒?1.執行緒中用到其他執行緒的token ticket之類的 二 跨執行緒之間引數傳遞 1.新建執行緒組 thread1,並新建beanshell sampler,在sampler中設定跨...