jmeter跨线程组传递token

Posted jane4321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter跨线程组传递token相关的知识,希望对你有一定的参考价值。

遇到一些综合场景的设置,每个不同的请求并发数设置不同的时候,可以用多个线程组的组合来实现,但是这个时候,会遇到一个问题,那就是jmeter各个线程组之间是相互独立的,各个线程互不影响,所以线程组A中输出的参数,无法直接在线程组B中调用。

拿token来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个token供此线程组使用,但这样就比较繁琐且冗余。此时我们就可以使用跨线程组传递参数来解决这样的问题。

接下来,我们看下这个例子:

要发送短信,必须要先登录,才能发送。

实现思路:

在登录请求中添加一个正则表达式提取器,提取响应值中的token的值。然后再添加一个 Bean Shell PostProcessor 的后置处理器,在这个处理器中调用“__setProperty”函数,设置正则提取到的token的值为全局变量。然后在另外一个线程组中添加一个其他需要用到此token的请求,通过函数“__P”来调用token。

具体步骤:

1、在测试计划下添加一个线程组setUp Thread Group,然后把登录请求添加到该线程下,在登录请求下添加正则表达式提取器和BeanShell PostProcessor

 

 技术图片

 

 注意,BeanShell PostProcessor中参数和脚本设置。在Script中输入${__setProperty(jsessionid,${token},)}

技术图片

 

 2、再添加一个线程组,把发短信的请求,添加在该线程组下面。在这个线程组下添加HTTP Cookie 管理器,调用上面的线程组的Token.

技术图片

 

 至此,跨线程组的参数调用就实现了。

技术图片

 

以上是关于jmeter跨线程组传递token的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter跨线程组传递token失败

[存]Jmeter 如何实现跨线程组传递参数

Jmeter跨线程组调用token

接口测试工具-Jmeter使用笔记(九:跨线程组传递变量)

jmeter 正则获取多个返回token至本地文件,并跨线程组调用

jmeter 跨线程组实现变量引用