前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter跨线程组传递参数

Jmeter跨线程组传递参数

作者头像
王大力测试进阶之路
发布2019-10-25 17:43:52
1.7K0
发布2019-10-25 17:43:52
举报
文章被收录于专栏:橙子探索测试橙子探索测试

jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B和线程组C中被调用的。

但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中。拿token来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个token供此线程组使用,但这样就比较繁琐且冗余。此时我们就可以使用跨线程组传递参数来解决这样的问题

方法:jmeter本身的内置函数${__setProperty(requestToken,${Token},)};可以把某参数的值设置成jmeter本身的内置属性,是全局变量,各个线程都可调用。调用时,只需使用调用jmeter属性的函数${__property(requestToken)}来调用相应的属性即可。

1、创建线程组A(登录采样器、正则表达式提取器、beanshell后置处理器、采样器A、查看结果树)

登录采样器,登录接口返回token

正则表达式提取器,提取token

beanshell后置处理器,将提取的token赋值并设置为全局变量,待其它线程调用

采样器A,调用beanshellToken值${__property(requestToken)}

2、创建线程组A(采样器A、查看结果树)、创建线程组A(采样器B、查看结果树)

采样器B,调用beanshellToken值${__property(requestToken)}

采样器C,调用正则提取Token值${Token}

3、设置测试计划为独立运行每个线程组(顺序运行线程)

4、查看登录接口响应

5、登录接口下添加正则表达式提取器,提取token

6、Bean Shell PostProcessor设置

Parametres:传递需要操作的参数${Token},前面正则提取出来的Token值,就把参数Token写入

Script:${__setProperty(requestToken,${Token},)}; 调用函数__setProperty,把Bean Shell PostProcessor中的参数Token的值赋值给requestToken,并设置requestToken为jmeter内置属性,全局变量,所有线程组可调用。

7、我们查看最终结果树显示A线程和B线程调用${__property(requestToken)}都生效了,而C线程调用${Token}未生效
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 橙子探索测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档