今天遇到一个场景,需要对一个支付接口进行压测,支付接口需要token才能请求成功,而压测是多线程把获取token接口和支付接口放在一个线程组,token也会获取很多次,而我只需要获取一次就好了,查阅一番后可以利用BeanShell后置处理器调用 __setProperty 函数将token存为整个测试计划的全局变量,在其他线程组中调用即可。

先用json提取器获取到token,存为变量名oldtoken

${__setProperty(newtoken,${oldtoken},)};
newtoken 新的命名
${oldtoken} 引入获取的token
这时候就已经存为了全局变量,这下就可以引入到另一个线程组中

在参数行中也是一样的写法

${__property(newtoken,)} 这是固定写法,注意 __ 该符号键盘上可能会不能输入,我当时就被坑了
所以要去哪里可以在函数助手去找到该函数然后赋值出来,根据自己需要进行更改。

然后运行看看!!!!!!!!!!


可以看到token成功传入到请求头中,flowId也成功传入请求body中。
网友评论