終於搞定了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);
${__setProperty(newstamp,${X-Timestamp},)};
String X-Signature=bsh.args[1];
print (X-Signature);
${__setProperty(newsig,${X-Signature},)};
String X-Nonce=bsh.args[2];
print (X-Nonce);
${__setProperty(newnonce,${X-Nonce},)};
