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

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

思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过“${__P(parameters,)}”函数调用即可。

说明:jmeter本身的内置函数中,“__setProperty ” (${__setProperty(newtoken,${cookieKey},)})函数可以把某参数的值设置成jmeter本身的内置属性,而jmeter的内置属性是所有线程组都可以调用的,是全局变量。各个线程组调用时,只需使用调用jmeter属性的函数“${__P(parameters,)}”来调用相应的属性即可。

1.在http请求下添加正则表达式提取器 :

2.在请求下再添加Bean Shell PostProcessor(bean shell后置处理器) ;

Parametres:把需要操作的参数传递给Bean Shell PostProcessor。前面提取出来的cookie的值,就把参数cookie写入

Script:  string cookie=bsh.args[0];     把Bean Shell PostProcessor接收到的参数值,赋值给某参数。0是第一个值。

${__setProperty(newcookie,${cookie},)};        调用函数__setProperty,把Bean Shell PostProcessor中的参数cookie的值赋值给newcookie,并设置newcookie为jmeter内置属性。

2.其他线程组中引用----${__P(newcookie,)}

jmeter 多线程组间变量共享的更多相关文章

  1. Jmeter线程组间传递参数

    现在做测试和以前不太一样了,以前只要站在一个用户的角度做端到端的UI测试就可以了,现在不会做接口测试,出去都不好意思和别人打招呼.那提到接口测试,就不得不提一下接口测试利器Jmeter,大家也都知道, ...

  2. JMeter 不同线程组间变量传递

    JMeter元件都是有作用域的,而变量大多使用正则表达式提取器,要想在不通过线程组件使用变量参数,则需要设置全部变量 JMeter函数助手就提供了一个函数用于设置全局变量属性,实现的功能类似于在用户自 ...

  3. JMeter 不同线程组间变量传递(亲测 ok)

    JMeter元件都是有作用域的,而变量大多使用正则表达式提取器,要想在不通过线程组件使用变量参数,则需要设置全部变量 JMeter函数助手就提供了一个函数用于设置全局变量属性,实现的功能类似于在用户自 ...

  4. jmeter之线程组间变量的传递二

    1.线程组设置先后顺序 2.获取正则匹配值 3.设置全局属性 4.其他线程组使用该全局属性 5.调试查看结果方式

  5. java用匿名内部类实现多线程堆内存变量共享

    匿名内部类介绍:http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html 用Runnable模拟实现共享堆内存变量 import ...

  6. Jmeter登录后Session自动共享与多线程组并行

    在接口测试中,出于安全考虑接口是需要session才能访问.另外在此基础上,我们还可能模拟不同的客户端登录,需要并行运行移动端线程组. 实现session共享1)修改jmeter安装目录bin下的jm ...

  7. Jmeter——如何使得token在各线程组间引用的游刃有余

    在以前的博文中,有介绍过,jmeter基本的关联,关联就是将参数在各接口中动态传参,使得接口脚本变得灵活使用,非一次性脚本.今天再来介绍一种jmeter全局变量的设置与使用,可以让脚本运用更丰富,场景 ...

  8. jmeter 发送加密请求 beanshell断言 线程组间传递参数

    原文地址https://www.cnblogs.com/wnfindbug/p/5817038.html 最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求, ...

  9. 多线程篇四:ThreadLocal实现线程范围内变量共享

    1.static实现线程范围内变量共享 package com.test.shareData; import java.util.Random; /** * 多线程范围内的数据共享 * @author ...

随机推荐

  1. 【转载】MFC动态创建控件及其消息响应函数

    原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...

  2. [HNOI2016]网络 树链剖分,堆

    [HNOI2016]网络 LG传送门 表示乱搞比正解难想. 整体二分很好想吧. 但是为了好写快乐,我们选择三个\(\log\)的乱搞. 先树剖,线段树套堆维护区间最大值.对于一次修改,如果是插入,就把 ...

  3. [VB.NET][C#]二维向量的基本运算

    前言 在数学中,几何向量指具有大小(Magnitude)和方向的几何对象,它在线性代数中经由抽象化有着更一般的概念.向量在编程中也有着及其广泛的应用,其作用在图形编程和游戏物理引擎方面尤为突出. 基于 ...

  4. sqlmap注入分类

    注入分法不同,种类不同,来个简单的分类: 1.get型:sqlmap -u “http://xxx.xx.xxx/xx.xxx?xx=xxx”  2.post型: sqlmap -u “http:// ...

  5. 虚拟机下安装cad2006和南方cass7.0

    本人电脑是win10系统,装了一个cad2014,cad2014没有与之匹配的cass版本,但cad2014也有用途,于是上网找两个cad版本都安装的教程,发现一个比较好的办法就是安装虚拟机,在虚拟机 ...

  6. ASP.NET Core 接触&介绍

    几年前从朋友口中了解到了微软出来一个ASP.NET Core ,当时还是1.0版本,聊天时还吐槽不好用之类的.前不久了解.NET Core 已经出3.0版本了,突然想试试,了解了解.ASP.NET C ...

  7. ubuntu lvm模式进行扩容

    ubuntu的16.04 18.04有lvm的功能(安装的时候的选项),能在磁盘空间用完的时候,无缝增加一个磁盘进去.因为linux系统只有一个盘,所以是非常方便,不会有windows加1个磁盘要进行 ...

  8. 传输控制协议--- Transmission Control Protocol (TCP)

    Transmission Control Protocol (TCP) 用于网络通信的传输控制和网络协议套件,包括很多协议,其中最主要的是TCP和IP协议.TCP/IP属于UNIX类系统的内置协议,被 ...

  9. sync命令详解

    转:https://blog.csdn.net/everything1209/article/details/50423679 1.谁和谁同步? 2.为什么要同步?复制移动的过程不是同步的吗,都发生了 ...

  10. 10款常见MySQL高可用方案选型解读

    一.概述 我们在考虑MySQL数据库的高可用架构时,主要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断. ...