利用jmeter进行接口测试时,有时需要跨线程传参,例如,有些接口的请求需要在请求头添加登录后获取到的token,

如下图,线程组B的请求需要用到线程组A的登录请求的返回结果里的token:

jmeter借助函数助手跨线程组传参,不需要写代码

1.添加后置处理器-json提取器,提取token值(也可以用正则表达式进行提取,个人认为json提取器比较简单好用)

jmeter借助函数助手跨线程组传参,不需要写代码

jmeter借助函数助手跨线程组传参,不需要写代码

2.将提取的token值设置为公共变量,也可以理解为全局变量

首先利用函数助手_setProperty,该函数用来动态设置JMeter属性,将token设置为全局变量:

1是为token变量起个名字,随便起;2是要设置为全局变量的值就是token得值

jmeter借助函数助手跨线程组传参,不需要写代码

然后为线程组添加取样器-调试解调器,用来接收全局变量

jmeter借助函数助手跨线程组传参,不需要写代码

jmeter借助函数助手跨线程组传参,不需要写代码

运行线程组,然后在测试计划添加非测试原件-属性显示,可以看到protoken已将获取到token值。

jmeter借助函数助手跨线程组传参,不需要写代码

jmeter借助函数助手跨线程组传参,不需要写代码

3.在线程组B中使用该变量

首先使用函数助手的__p函数,获取属性的函数,可以获取命令行中定义的属性

jmeter借助函数助手跨线程组传参,不需要写代码

在线程组B中跨线程组使用线程组A的token

jmeter借助函数助手跨线程组传参,不需要写代码

运行线程组成功。

jmeter借助函数助手跨线程组传参,不需要写代码

相关文章: