jmeter跨线程组传参

在我们日常的工作中,有时候会碰到一种场景。

就是当两个接口在一个线程组下的时候,要想串联起来其中的依赖关系比较简单,直接使用json提取器提取并保存为变量就可以了

如下图所示

 但是,往往在实际工作中,还会碰到一种场景,就是两个接口分别需要存储在两个不同的线程组下。这样json提取器提取到的变量,就不能被直接引用了

 这时候,就需要使用jmeter的跨线程传参的方式来实现了。

将第一个线程组里面的某个参数,传递到另外的线程组里。

其实,也就是意味着,将一个环境变量设置为了全局变量

思路:jmeter中,属性是全局的,是可以动态设置的;而变量是独属于每个线程的

实现方式:

1.先在第一个接口里添加一个json提取器,将变量存储下来

 

2.打开函数助手对话框,选择一个  _setProperty()函数

 

 传递过程如下,属性值可以填其他的,但是最好保持一致

注意,变量名那里要用${变量名} 

 

生成函数并且保存

 

我这里是${__setProperty(tk,${tk},)}

3.然后在第一个接口里面加入后置处理器  Bean Shell PostProcessor

 将刚才获取到的函数,填入

 

 这一步的含义是:

将json提取器里提取到的tk这个变量,转存储为自定义的tk属性(属性是全局的)

刚才打开函数助手对话框的目的只是为了生成这段代码

${__setProperty(tk,${tk},)}

4.tk这个属性已经全局都可以用了

通过函数助手对话框,找到__P函数,输入你刚才设置的属性名,然后复制下面代码,填入你要放的地方

 

 

我的是${__P(tk,)}

 放到你想要放的地方,然后就直接可以用了

大功告成

这样就完成了,第一个线程组的变量,让第二个线程组调用

 

特别注意!!!!!

要在测试计划那里勾选独立运行,不然同时运行会报错的

然后就可以愉快的运行玩耍了

当然

后面熟练了这两个函数就可以直接使用,而不要通过函数助手:

1.${__property(全局变量名,${提取的变量名},error)}}

2.${__P(全局变量名,)}

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值