如何通过JMeter实现跨线程组间传递token的详细步骤图解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计598个文字,预计阅读时间需要3分钟。
在遇到包含多种场景的测试设置时,每个请求可能需要不同的线程数和时间设置。此时,可以使用多个线程组来组合实现。但需要注意的是,JMeter中的线程组是相互独立的,每个线程组中的线程不会影响其他线程组。
遇到一些综合场景的设置,每个不同的请求并发数设置不同的时候,可以用多个线程组的组合来实现,但是这个时候,会遇到一个问题,那就是jmeter各个线程组之间是相互独立的,各个线程互不影响,所以线程组A中输出的参数,无法直接在线程组B中调用。
拿token来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个token供此线程组使用,但这样就比较繁琐且冗余。此时我们就可以使用跨线程组传递参数来解决这样的问题。
接下来,我们看下这个例子:
要发送短信,必须要先登录,才能发送。
实现思路:
在登录请求中添加一个正则表达式提取器,提取响应值中的token的值。然后再添加一个 Bean Shell PostProcessor 的后置处理器,在这个处理器中调用“__setProperty”函数,设置正则提取到的token的值为全局变量。然后在另外一个线程组中添加一个其他需要用到此token的请求,通过函数“__P”来调用token。
本文共计598个文字,预计阅读时间需要3分钟。
在遇到包含多种场景的测试设置时,每个请求可能需要不同的线程数和时间设置。此时,可以使用多个线程组来组合实现。但需要注意的是,JMeter中的线程组是相互独立的,每个线程组中的线程不会影响其他线程组。
遇到一些综合场景的设置,每个不同的请求并发数设置不同的时候,可以用多个线程组的组合来实现,但是这个时候,会遇到一个问题,那就是jmeter各个线程组之间是相互独立的,各个线程互不影响,所以线程组A中输出的参数,无法直接在线程组B中调用。
拿token来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个token供此线程组使用,但这样就比较繁琐且冗余。此时我们就可以使用跨线程组传递参数来解决这样的问题。
接下来,我们看下这个例子:
要发送短信,必须要先登录,才能发送。
实现思路:
在登录请求中添加一个正则表达式提取器,提取响应值中的token的值。然后再添加一个 Bean Shell PostProcessor 的后置处理器,在这个处理器中调用“__setProperty”函数,设置正则提取到的token的值为全局变量。然后在另外一个线程组中添加一个其他需要用到此token的请求,通过函数“__P”来调用token。

