当前位置: 首页 > news >正文

【JMeter】跨线程组传递参数

文章目录

  • 是什么
  • 为什么
  • 怎么做

是什么

使用jmeter工具在两个或者两个以上的线程组之间传递参数。

为什么

往往我们接到一个性能测试任务需要对某一个接口进行压测时不需要每一次请求都去登录(如果每次都登录这样就会影响测试结果),那么遇到这种情况我们就要通过登录接口获取token(session、cookie),然后用另一个线程组进行压测。两个线程组直接无法直接共享参数,所以需要在线程组之间传递参数。

怎么做

JMeter变量作用域局限于所属线程,目的是让测试线程能够独立运转。有时候用户可能需要在不同线程间(可能属于同一个线程组,也可能不属于同一个线程组)传递变量。在Jmeter中,除了基本变量之外,还有一种,是它本身的属性,property,我们可以借助属性来完成线程组间的变量传递。属性为所有 JMeter 线程所共享,因此当某个线程设置一个属性后,其他线程就可以读取更新后的值。

  • 方法

    1. jmeter本身自带的内置函数\${__setProperty(key,value,true)},可以把某参数设置为jmeter的内置属性,也就是全局变量,多个线程都可以调用。
    2. 具体调用方法:调用jmeter内置函数${__P(key)},调用相应属性就可以。
  • 步骤

    1. 提取token
      在这里插入图片描述
    2. 添加BeanShell后置处理程序。
      JSON提取到的token通过\${__setProperty(key,value,true)}函数,将变量通过BeanShell后置处理程序处理,成为jmeter的内置属性。(借助函数助手生成函数)
      在这里插入图片描述
      ${__setProperty(gb_token,${token},)}: 调用函数__setProperty,把BeanShell PostProcessor中的参数token的值赋值给gb_token,并设置gb_token为jmeter内置属性,全局变量,所有线程组可调用。
  1. 在HTTP信息头管理器中通过${__P(key)}函数调用。(借助函数助手生成函数)
    在这里插入图片描述
http://www.dtcms.com/a/272561.html

相关文章:

  • 在Docker中运行macOS的超方便体验!
  • SpringAI×Ollama:Java生态无缝集成本地大模型实践指南
  • Redis数据库基础概述
  • 8.2.3希尔排序
  • Spring for Apache Pulsar->Reactive Support->Message Production
  • KV Cache原理详解 + 代码理解
  • 从零实现一个GPT 【React + Express】--- 【2】实现对话流和停止生成
  • Pytest之收集用例规则与运行指定用例
  • 外贸网站模板 网页设计模板网站
  • WinUI3入门17:本地文件存储LocalApplicationData在哪里
  • 【佳易王桌球棋牌计时计费软件】:从功能到实操的全方位解析,灯控器适配、会员管理多场景,软件程序操作教程详解
  • BatchNorm解决梯度消失/爆炸
  • van-tabs 自定义
  • 08-自然壁纸实战教程-视频列表-云
  • softmax公式推导
  • 深度学习中的批处理vs小批量训练
  • 大数据时代UI前端的智能化升级:基于机器学习的用户意图预测
  • MyBatis-Plus的LambdaQuery用法
  • 【音视频】HTTP协议介绍
  • 钉钉拿飞书当靶
  • 测试开发和后端开发到底怎么选?
  • 打破技术债困境:从“保持现状”到成为变革的推动者
  • VILA-M3: Enhancing Vision-Language Models with Medical Expert Knowledge
  • AI大模型平台
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_time
  • 在虚拟机中安装Linux系统
  • EasyCVR视频汇聚平台国标接入设备TCP主动播放失败排查指南
  • 操作系统-IO多路复用
  • 深度学习核心:从基础到前沿的全面解析
  • 约束-1-约束