利用BeanShell后置处理程序将参数设置为全局变量,用于跨线程传参(注:1、把提取变量的线程组放到引用变量的线程组前2、在测试计划中勾选“独立运行每个线程组”)
方法1(jmeter自带函数__setProperty)
在提取token的接口下添加BeanShell后置处理程序
KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(oI…{orderId},false)};//KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(oI…{orderId},false)};//将
o
r
d
e
r
I
d
赋
值
给
o
I
d
,
并
且
将
o
I
d
设
置
为
全
局
变
量
,
其
他
线
程
引
用
方
式
{orderId}赋值给oId,并且将oId设置为全局变量,其他线程引用方式
orderId赋值给oId,并且将oId设置为全局变量,其他线程引用方式{__P(oId)}
(-----此方式尝试过后无效----)
方法2(beanshell自带方法)
String neworderId = vars.get(“neworderId”);//将变量token赋值给变量orderId
props.put(“neworderId1”,neworderId);//将neworderId赋值给neworderId1,此时neworderId1已成为全局变量,其他线程直接引用${__P(neworderId1)}
String oId = props.get(“neworderId1”);//获取全局变量neworderId1复制给oId
(-----此方式尝试过后无效----)
方法3(调用java方法)
mport org.apache.jmeter.util.JMeterUtils;
JMeterUtils.setProperty(“oId”,"
o
r
d
e
r
I
d
"
)
;
/
/
将
变
量
t
o
k
e
n
赋
值
给
全
局
变
量
n
e
w
t
o
k
e
n
1
,
其
他
线
程
直
接
引
用
{orderId}");//将变量token赋值给全局变量newtoken1,其他线程直接引用
orderId");//将变量token赋值给全局变量newtoken1,其他线程直接引用{__P(oId)}