06.jmeter跨线程组传参

参考此篇博文:jmeter-跨线程组传参的两种方法

https://www.cnblogs.com/fanf/p/17346008.html

这里是自己常用的一种方法:

如果一个线程组的请求用到另一个线程组的参数,需要将参数转为全局变量来使用。

以token来举例,因为token这个请求有请求头,跟要用到token的请求的请求头不一样,所以只能单独分开放在不同的线程组。线程组中的参数是有作用域的,不能直接用到另一个线程组,需要将参数转为全局变量后才能被其他线程组调用

 

操作步骤如下:

1.先创建一个线程组,放获取token的请求,请求下添加一个json提取器填写表达式和变量名称token,将token值提取到变量token中

2.复制json提取器的变量名称,点击工具-函数助手,选择setProperty函数(这个函数是把局部变量存储为全局属性),输入一个自定义的变量名称,在第二个输入框调用json提取器的参数:${token},点击生成,复制生成的表达式

3.在token请求下添加一个beabShell后置处理程序(必须放在请求下,与json提取器同级(犯过的错误1:没有同级放,导致一直调不通)),将第二步复制表达式粘贴到脚本框下

4.添加查看结果树

5.再添加一个线程组,放新的HTTP请求

6.打开函数助手,选择P函数(通过P函数引用全局属性),属性名称输入beanShell中定义的属性名称TOKEN,点击生成,复制生成函数表达式。注意:P函数只需要输入属性名称而不是调用参数

7.将表达式放到新HTTP请求中需要token的位置就可以了。如果其他线程组也需要token,只需要将P函数生成的表达式放到新HTTP请求的token位置即可

8.为了方便调用,也可以在线程组添加一个用户参数,名称输入一个新的变量名称Token,用户1输入P函数的表达式。

9.再将这个新变量名称放到HTTP用到token的位置即可${Token},不过这个用户参数只能作用与本线程组,其他线程组不行。

注意:使用到跨线程组传参的话就有顺序要求,必须在测试计划勾选独立运行每个线程组(犯过的错误2:没有勾选,导致有时可以获取到有时获取不到)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值