Jmeter 跨執行緒組傳遞引數 之兩種方法

2022-05-06 06:51:10 字數 1537 閱讀 3053

終於搞定了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中設定跨...