jmeter-跨线程组调用token

一、准备接口


为了看得更清晰,咱们准备两个非登录接口,把这两个接口放在同一个线程组,登录放在另外一个线程组。

在这里插入图片描述

在这里插入图片描述  

二、登录并获取token


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 
三、把token设为全局变量

在这里插入图片描述

在这里插入图片描述


把下面这句复制进Bean Shell里边就行了

“${__setProperty(newtoken,${gettoken},)}”

注意:其中__setProperty是全局属性,前边是两个杠 “_”
如果有多个全局变量,就可以把上边的语句复制多份,用英文分号分隔,例如:

在这里插入图片描述
四、应用


添加http信息头管理器

在这里插入图片描述

在这里插入图片描述
后边取值,是用下面这句取出来的

${__P(newtoken)}

注意:前边的“_”是两个,newtoken是全局变量的名字

在这里插入图片描述

 上边这些设置完以后,我们添加http请求,把接口的地址和参数写上

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
定时器是有作用域的,右击线程组,添加定时器就可以了,我这里选择的是“固定定时器”,在脚本里边是把定时器放在线程组下边,那就意味着,这个定时器的作用域是这个线程组,这个线程组里边的每个接口在运行之前都会先运行这个定时器,也就是每个接口运行之前都会等待3S。

整个脚本的结构如下图:

 

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter 中,线程传递 token 是一个常见的需求。由于每个线程JMeter 中是相互独立的,它们之间默认无法直接共享变量或数据。 一种解决方案是使用 JMeter 的属性文件来传递 token。你可以在一个线程中生成 token,并将其保存到属性文件中。然后,在另一个线程中,你可以通过读取属性文件来获得这个 token。 以下是一个简单的步骤来实现这个过程: 1. 在生成 token线程中,添加一个 BeanShell PreProcessor 到生成 token 的请求之前的步骤中。在该 BeanShell PreProcessor 中,你可以使用以下代码生成并保存 token 到属性文件中: ``` props.put("token", "your_token_value"); props.save("path/to/your/property/file.jtl"); ``` 确保将 `"your_token_value"` 替换为你实际的 token 值,将 `"path/to/your/property/file.jtl"` 替换为你想要保存属性文件的路径。 2. 在需要使用 token线程中,添加一个 BeanShell PreProcessor 到使用 token 的请求之前的步骤中。在该 BeanShell PreProcessor 中,你可以使用以下代码读取属性文件中的 token 值: ``` props.load("path/to/your/property/file.jtl"); String token = props.getProperty("token"); vars.put("token", token); ``` 确保将 `"path/to/your/property/file.jtl"` 替换为之前保存属性文件的路径。 3. 现在,你可以在你的请求中使用 `${token}` 变量,它将被替换为正确的 token 值。 通过这种方式,你可以在不同的线程之间传递 token。当一个线程生成 token 并将其保存到属性文件中时,另一个线程可以读取属性文件并使用这个 token

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值