Jmeter内置变量 vars 和props的使用详解

news2024/11/16 3:38:37

JMeter是一个功能强大的负载测试工具,它提供了许多有用的内置变量来支持测试过程。其中最常用的变量是 vars 和 props。

vars 变量

vars 变量是线程本地变量,它们只能在同一线程组内的所有线程中使用(线程组内不同线程之间变量不共享)。每个线程都有自己的一组 vars 变量。vars 变量可以通过如下方式设置和访问:

在非 beanshell 环境里面可以使用 ${varName} 语法访问变量的值。

访问变量

在 beanshell 环境里面可以使用 vars.get("varName") 语法访问变量的值,vars.put("varName", "value") 语法设置变量的值。

设置变量

在 JMeter 中,vars 变量通常用于在测试执行期间动态生成值,如从响应中提取数据并将其存储在变量中以供后续请求使用。

props 变量

props 变量是全局变量,它们可以在任何线程组中使用。所有线程共享同一组 props 变量。props 变量可以通过如下方式设置和访问:

在非 beanshell 环境里面可以使用${__P(propName)} 语法访问变量的值。

访问变量

在 beanshell 环境里面可以使用 props.get("propName") 语法访问变量的值, props.put("propName", "value") 语法设置变量的值。

设置变量

在 JMeter 中,props 变量通常用于在测试执行期间传递数据,如测试参数,即使在不同的线程组之间也可以使用。

区别

vars 只能在当前线程组内使用(线程组内不同线程之间变量不共享),props 可以跨线程组使用 vars 只能保持String 或者Object, props 是 Hashtable 对象

vars:

1、本质是Map,是单个线程的本地属性,能在beanshell里面进行赋值和取值

2、示例

vars.get("saleOrderCode");  // 读取字符串变量saleOrderCode
vars.put("manufacturingOrderCode",vars.get("saleOrderCode").replace('S','M'));  //赋值变量manufacturingOrderCode

3、如果要在非beanshell里面进行取值可以使用${变量名}。注意:此时Http Request和BeanShell Sampler在同一个线程组内

props:

1、本质是Map,是jmeter全局变量(也即属性)的引用,能在beanshell里面进行赋值和取值

2、示例

props.put("ssoToken",${ssoToken});  //将Json提取器中的ssoToken,设置为全局变量,方便其他线程使用

 3、如果要在非beanshell里面进行取值可以使用jmeter内置函数:${__property(变量名)}
注意:${__property()}函数中,变量名不需要加引号
如:${__property(usernameProp)}。注意:此时Http Request和BeanShell Sampler在可以在不同线程组

 4、也可以使用

${__BeanShell(props.get(“变量名”),)}
注意:${__BeanShell()}函数是创建了一个小型的java环境,可以直接执行一些简单的表达式
如:${__BeanShell(props.get("usernameProp"),)}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1463649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(十二)【Jmeter】线程(Threads(Users))之setUp 线程组

简述 操作路径如下: 作用:在正式测试开始前执行预加载或预热操作,为测试做准备。配置:设置预加载或预热操作的采样器、循环次数等参数。使用场景:确保在正式测试开始前应用程序已经达到稳定状态,减少测试结果的偏差。优点:提供预加载或预热操作,确保测试的准确性。缺…

[newstarctf2023] --RE wp

AndroGenshin: rc4加密表,base64换表: 脚本梭就行 python username b"genshinimpact" base64_table [125, 239, 101, 151, 77, 163, 163, 110, 58, 230, 186, 206, 84, 84, 189, 193, 30, 63, 104, 178, 130, 211,164, 94, 75, 16, 32, 33…

SpringBoot启动报错:Failed to load property source from ‘file:/D:.....

SpringBoot启动报错:Failed to load property source from file:/D:… SpringBoot启动爆如图的错误 2024-02-22 20:57:42.865 ERROR 23024 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedjava.lang.IllegalStateExce…

基于SpringBoot的教师宿舍管理系统设计与实现(源码+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的教师宿…

考研高数(高阶导数的计算)

1.归纳法 常见高阶导数 2.泰勒展开式 3.莱布尼兹公式 4.用导数定义证明导函数在某一点连续的例题

并发编程(2)基础篇-管程

4 共享模型之管程 本章内容 共享问题synchronized线程安全分析Monitorwait/notify线程状态转换活跃性Lock 4.1 共享带来的问题 4.1.1 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去&#xff…

unity学习(22)——客户端与服务器合力完成注册功能(4)数据库化

单纯的账号密码这种非频繁读写,实现起来很简单的,游戏的属性信息到时候也许会比较麻烦。 思路:每次加入有新键值TryAdd,如果加入成功,直接重写账号密码文件即可。 C#JsonConvert.DeserializeObject反序列化与JsonCon…

Another Redis Desktop Manager工具连接集群

背景:使用Another Redis Desktop Manager连接redsi集群 win10安装 使用 下载 某盘: 链接:https://pan.baidu.com/s/1dg9kPm9Av8-bbpDfDg9DsA 提取码:t1sm 使用

PLC远程控制网关如何助力企业提升生产效率与运维能力

PLC远程控制网关如何助力企业提升生产效率与运维能力 PLC远程控制网关是一种用于连接PLC设备与物联网系统的设备。它通过以太网、Wi-Fi、蜂窝网络等通信方式,将PLC设备连接到EMCP物联网云平台。PLC远程控制网关可以实现数据采集、协议转换、边缘计算等功能&#xf…

IO进程线程day6

思维导图&#xff1a; 1.将互斥机制的代码实现重新敲一遍。 #include<myhead.h> int num520;//临界资源//创建一个互斥锁变量 pthread_mutex_t mutex;//定义任务&#xff11;函数 void *task1(void *arg) {printf("我是任务&#xff11;&#xff1a;\n");//3.…

程序员可以做哪些副业?

如果你经常玩知乎、看公众号&#xff08;软件、工具、互联网这几类的&#xff09;你就会发现&#xff0c;好多资源连接都变成了夸克网盘、迅雷网盘的资源链接。 例如&#xff1a;天涯神贴&#xff0c;基本上全是夸克、UC、迅雷网盘的资源链接。 有资源的前提下&#xff0c;迅雷…

SpringCloud全家桶---常用微服务组件(1)

注册中心: *作用: 服务管理 Eureka(不推荐)[读音: 优瑞卡] Nacos(推荐) Zookeeper [读音: 如k波] Consul [读音:康寿] **注册中心的核心功能原理(nacos)** 服务注册: 当服务启动时,会通过rest接口请求的方式向Nacos注册自己的服务 服务心跳: NacosClient 会维护一个定时心跳持…

【Java 面试题】MySQL与Redis 如何保证双写一致性

目录 方案一:延时双删方案二: 删除缓存重试机制方案三:读取biglog异步删除缓存系列文章版本记录方案一:延时双删 延时双删流程 先删除缓存再更新数据库休眠一会(比如1秒),再次删除缓存。这个休眠一会,一般多久呢?都是1秒? 这个休眠时间 = 读业务逻辑数据

七、计算机视觉-图像的ROI区域

文章目录 1、什么是ROI2、ROI如何实现的3、一个案例总结 1、什么是ROI 在计算机视觉中&#xff0c;ROI代表感兴趣区域&#xff08;Region of Interest&#xff09;&#xff0c;它是指图像或视频中被指定为需要特别关注或处理的区域。ROI可以帮助减少计算量&#xff0c;并且在处…

口吃矫正:1.缓解口吃预感与紧张感的心态引导

一、我的经验 首先可以看看电影《心灵捕手》的一个片段&#xff1a; 这个片段大致讲的是威尔遇到了一个自己心仪的女生&#xff0c;第一次约会后不敢再约&#xff0c;因为他想保持第一次约会时给女生的完美状态&#xff1b;心理医生查克则给威尔讲述了他的妻子“睡觉时放屁把自…

学习JAVA的第三天(基础)

目录 流程控制语句 顺序结构 分支结构 循环结构 分类&#xff1a; 练习 跳转控制语句 练习 数组 数组介绍 数组的定义和静态初始化 数组定义 数组的静态初始化 数组元素访问 数组遍历 数组动态初始化 JAVA内存分配 流程控制语句 顺序结构 是Java程序默认的执行流程…

Nginx跳转模块之location

目录 一、location模块基本介绍 1、location模块是什么&#xff1f; 2、三种匹配类别 3、常用的匹配规则 4、匹配优先级 优先级总结 二、location模块使用实例 1、精确匹配优先级小于一般匹配的特殊情况 2、解决方法 3、实际网站中使用的三个匹配规则 ①第一个必选规…

MyBatis--02-1- MybatisPlus----条件构造器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言AbstractWrapper 条件构造器官网文档https://baomidou.com/pages/10c804/#abstractwrapper](https://baomidou.com/pages/10c804/#abstractwrapper)![在这里插入…

MyBatisPlus:PG数组类型自动映射问题

引言: PostGreSQL数据库提供了丰富的数据类型,通过查看官网文档,我们也可以发现,PG也提供了对数组类型的支持。 但是在实际开发中,我们通常是使用MyBatis/MyBatisPlus这种半自动ORM映射框架来实现数据库/表数据基本的增删改查,以及其它操作。那么,问题来了,如何…

Web安全之浅见

备注&#xff1a;这是我在2017年在自己的网站上写的文章&#xff0c;今天迁移过来。 昨天去参加了公司组织的一个关于网络安全的培训&#xff0c;了解了很多关于网络安全方面的知识&#xff0c;也才意识到网络安全是一项极其重要的领域。 本篇文章主要聊聊Web安全。不过我对于网…