场景:性能测试或者接口测试,如果想跨线程引用(案例:A线程组里面的一个输出,是B线程组里面的一个输入,这个时候如果要引用),这个时候你就必须要设置全局变量;全链路压测也需要分不同场景,通常情况,一个场景就是一个线程组;

实现方法:beanshell脚本和函数助手_setPerproty,目前这种方法都可以跨线程的全局变量;

操作流程如下:beanshell脚本如下:

  1. 输出结果的处理,使用方法正则、json提取器或者json/yaml,提取的教程这里就不需要赘述,等我有空专门或者你们百度去
  2. 提取的数据后面加上beanshell后置处理器,脚本如下

    String userId=bsh.args[0];
    //print (token);
    ${__setProperty(newtoken,${token},true)}

  3. 全局变量设置了就需要引用了,这里我就讲述2种引用方法,第一个很简单,在另外一个线程组对应的参数后面,直接把上述全局的前部分拿来就用,即${__setProperty(newtoken,)};还有一种就是使用__P函数,${__P(newtoken,0000)},0是默认值,都是可以调用;

还有另外一种方式设置全局变量:

  1. 增加beanshell sampler,在需要提取的请求后面;
  2. 打开函数助手:Ctrl+shift+f1;找到setProperty函数,填写设置变量名称和将那个变量设置为全局变量:第一个值是下一个线程引用的名称,第二个值是被设置全局的变量,第三个是默认值;

    3.将函数助手生成的脚本,复制粘贴在步骤1里面;${__setProperty(newtoken,{token},0000)}

    3.引用的方法和上面的一样,没有什么区别

jmeter如何设置全局变量的更多相关文章

  1. jmeter如何设置全局变量以及调用方法

    当遇到如跨线程组调用变量等情况,需要设置全局变量. 1.打开函数助手 输入需要的值然后点击生成按钮,或者直接使用${__setProperty(newuserid,${userid},)}的格式 设置 ...

  2. angularjs 设置全局变量的3种方法

    angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用. 1,通过 ...

  3. [转]angularjs 设置全局变量的3种方法

    本文转自:http://blog.51yip.com/jsjquery/1601.html angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是 ...

  4. 关于在Android设置全局变量随时获取context

    最实在的办法就是继承Application,在里面设置全局变量,因为Application是android的应用入口,并且运行周期贯穿整个程序运行. import android.app.Applic ...

  5. Jmeter 日志设置---如何设置java协议中被测jar的日志?

    先转载一下Jmeter的日志设置: Jmeter运行出现问题可以通过调整jmeter的日志级别定位问题,但运行测试时建议关闭jmeter日志,jmeter打印日志耗费系统性能. Jmeter日志默认存 ...

  6. js设置全局变量ajax中赋值

    js设置全局变量,在ajax中给予赋值赋值不上问题解决方案 方案一. //在全局或某个需要的函数内设置Ajax异步为false,也就是同步. $.ajaxSetup({async : false}); ...

  7. angularjs 设置全局变量(constant)

    转:angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用. 1, ...

  8. Postman A请求的返回值作为B请求的入参( 之‘’token‘’ ,用代码设置全局变量)

    问题: 登陆接口获取token,其他接口访问时需携带token 方案: 在登陆接口访问后设置Postman的全局变量(Globals),例如设置环境变量名:token2,值(实时的不用自己手动设置的) ...

  9. js设置全局变量 ajax中赋值

    js设置全局变量,在ajax中给予赋值赋值不上问题解决方案 方案一. //在全局或某个需要的函数内设置Ajax异步为false,也就是同步. $.ajaxSetup({async : false}); ...

随机推荐

  1. 如何排查CPU占用太高

    线上项目运行时,出现问题不像在本地那么容易排查,经常需要借助日志.或者一些工具来找出问题.cpu被占满我们经常会遇到.比如我们有这样一段代码: public Class Demo1_16 { publ ...

  2. redis源码学习之工作流程初探

    目录 背景 环境准备 下载redis源码 下载Visual Studio Visual Studio打开redis源码 启动过程分析 调用关系图 事件循环分析 工作模型 代码分析 动画演示 网络模块 ...

  3. 论TEMP临时变量与VAR静态变量

    TEMP临时变量:顾名思义,这种变量类型是临时的,没有固定的存放数据的内存空间.每次扫描结束后则清零,在下个扫描周期开始时,这个变量的值都是不确定的,一般为0.使用临时变量需要遵循一个原则:先赋值再使 ...

  4. 02 flask源码剖析之flask快速使用

    02 flask快速使用 目录 02 flask快速使用 1.flask与django的区别 2. 安装 3. 依赖wsgi Werkzeug 4. 快速使用flask 5. 用户登录&用户管 ...

  5. 03-Django模型知识1

    模型:是python中的类对应数据库中的表. ORM:对象关系映射 1.基础示例 学生类模型字段 class blog(models.Model): title = models.CharField( ...

  6. 最短路——Floyd算法

    Folyd算法求最短路 介绍: Folyd算法是用来求带权图中每两点之间的最短路的动态规划算法,(它每次求得的值都可以在后面使用).该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学 ...

  7. linux 安装 mysql8

    1. 下载地址: https://dev.mysql.com/downloads/file/?id=484922 2. 安装 mysql80-community-release-el7-3.noarc ...

  8. redis未授权访问简单总结

    redis环境搭建 下载有漏洞的redis版本 wget http://download.redis.io/releases/redis-3.2.11.tar.gz 编译文件 make 进入src目录 ...

  9. Codeforces1379-题解

    很久以前,申蛤申请了一个cf号叫 wzxakioi 有一天,戌蛤带着申蛤用这个账号打了一场div3,然后它的rating超过了shzr 之后申蛤又用这个号打了三场div2,于是  CF1379C 题意 ...

  10. 【mysql】- 索引简介篇

    简介 我们都知道mysql使用存储引擎的是InnoDB,InnoDB使用的索引的对应的数据结构是B+树 结构图: 如上图所示,我们实际用户记录是存放在B+树的最底层的节点上,这些节点也被称为叶子节点或 ...