首页 > 编程语言 > 详细

Jmeter-全局变量跨线程组使用

时间:2020-11-14 13:12:01      阅读:31      评论:0      收藏:0      [点我收藏+]

一、前言  

  前面讲了如何使用正则表达式提取值,一般提取的值在同一个线程里,随意哪个请求都是可以引用的,那如果别的线程组也想引用怎么办呢?这时就涉及到一个全局变量的知识点了,话不多说,直接实例走起。

二、实例演示

1、在【登录】线程组的[统一登录]请求下,右键>添加>后置处理器>正则表达式,把统一登录成功后的响应结果里的token用正则表达式提取出来,引用名称是“token”。

表达式规则写法为:"token":"(.*?)"

技术分享图片

 

 2、在【登录】线程组,右键>添加>取样器>BeanShell 取样器,将提取的token设置为全局变量newtoken。

Script的写法为:${__setProperty(newtoken,${token},)}

技术分享图片

 

3、在【xx系统】线程组,右键>添加>前置处理器>BeanShell PreProcessor,将全局变量newtoken拿过来赋值给token

Script的写法为:

String a1=props.get("newtoken");
vars.put("token",a1)

技术分享图片

4、在【xx系统】线程组,右键>添加>配置元件>HTTP信息头管理器,将前置处理器拿到的token存储在HTTP信息头管理器。

写法为:${__property(newtoken)}

技术分享图片

 

5、好的,以上终于完事了,可以在【xx系统】线程组安心地引用token了,如下:

技术分享图片

 

6、最后运行调试如下:(因涉及到信息安全问题,所以就大概截了下图)

1)用Debug Sampler可以看到提取出来的token

技术分享图片

2)【xx系统】线程组可正常引用【登录】线程组的token,如图

技术分享图片

3)统一登录成功跳转到【xx系统】,登录成功,如图:

技术分享图片

 

 

注:有人可能会好奇,这个请求下为什么会多了几个子请求,哈哈,这涉及到重定向的知识了,大家可以自行百度下

 

Jmeter-全局变量跨线程组使用

原文:https://www.cnblogs.com/Chilam007/p/13972794.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!