跨線程組傳遞變量只能通過屬性來傳遞,並且屬性只能傳字符串變量。
如果想傳數組變量,需要先將數組轉化為字符串,在下一個線程組再轉化為數組。
【注意】在使用時要注意線程組的執行順序。需要勾選測試計划里的獨立運行每個線程組按鈕。
一、beanshell自帶方法
props.put("變量名","值") 全局變量賦值
props.get("變量名") 獲取全局變量
這里簡單介紹一個例子,從線程組1里傳遞給線程組2 字符串:hao123。
1)使用正則提取器提取出hao123,並且引用變量名為id。
2)使用beanshell后置處理器,獲取id,使用props.put()並且把id保存為一個全局變量,變量的名稱為"idname",即jmeter的屬性。
3)案例:如圖使用第三種方法在下一個線程組2使用beanshell內置對象調用:${__BeanShell(props.get("idname"),)}
方法1:${__P(idname,)}
方法2:${__property(idname,,)}
方法3:${__BeanShell(props.get("idname"),)}
4)查看結果樹,取樣器結果為hao123,調用成功。
二、beanshell自帶方法
jmeter自帶函數__setProperty
${__setProperty(變量名,值} 全局變量賦值
在下個線程組里調用方法和上面那個方法一致。

三、調用java方法
JMeterUtils.setProperty("變量名", "值") 全局變量賦值