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

这篇具有很好参考价值的文章主要介绍了Jmeter内置变量 vars 和props的使用详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

vars 变量

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

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

jmeter 存储变量props,jmeter,jmeter,java

访问变量

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

jmeter 存储变量props,jmeter,jmeter,java

设置变量

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

props 变量

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

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

jmeter 存储变量props,jmeter,jmeter,java

访问变量

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

jmeter 存储变量props,jmeter,jmeter,java

设置变量

在 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

jmeter 存储变量props,jmeter,jmeter,java

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

jmeter 存储变量props,jmeter,jmeter,java

props:

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

2、示例

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

jmeter 存储变量props,jmeter,jmeter,java

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

jmeter 存储变量props,jmeter,jmeter,java

 4、也可以使用

${__BeanShell(props.get(“变量名”),)}
注意:${__BeanShell()}函数是创建了一个小型的java环境,可以直接执行一些简单的表达式
如:${__BeanShell(props.get("usernameProp"),)}文章来源地址https://www.toymoban.com/news/detail-839003.html

到了这里,关于Jmeter内置变量 vars 和props的使用详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JMeter从数据库中获取数据并作为变量使用

    目录 前言: 1、JMeter连接MySQL数据库 2、线程组下新建一个 JDBC Connection Configuration 配置元件 3、实现数据库的查询-单值引用 4、实现数据库的查询-多值引用 前言: 在进行接口测试时,经常需要使用一些动态的数据,例如从数据库中获取用户信息、配置参数等。JMeter提供了多个

    2024年02月12日
    浏览(46)
  • Jmeter(二十七):BeanShell PostProcessor跨线程全局变量使用

    在性能测试中,两个相关联的接口不一定都在同一个线程组,遇见这种情况时,我们要进行跨线程组传参,此处用登录和查询配送单两个请求举例; 1、登录请求中配置json提取器,将接口返回的token保存在变量中;  2、登录请求中配置BeanShell 后置处理程序,将token保存到全局

    2024年02月11日
    浏览(47)
  • JMeter如何从数据库中获取数据并作为变量使用?

    目录 前言 1、JMeter连接MySQL数据库 2、线程组下新建一个 JDBC Connection Configuration 配置元件 3、实现数据库的查询-单值引用 4、实现数据库的查询-多值引用 总结: JMeter 如何从数据库中获取数据并作为变量使用?这在我们使用 JMeter 做 接口测试 、 压力测试 时经常碰到,今天通

    2024年02月08日
    浏览(76)
  • 【Jmeter】JSON Extractor变量包含转义字符,使用Beanshell脚本来消除

            如果使用Jmeter的JSON Extractor提取的变量包含特殊字符,直接引用时会包含转义字符。可以使用Beanshell脚本来进行字符串转换,从而消除这些转义字符。

    2024年02月04日
    浏览(52)
  • jmeter如何将提取到的token值设置为全局变量使其可以跨线程组使用

    我们用到jmeter去进行接口测试时,经常会遇到要跨线程组使用变量的场景,下面用json提取器提取token值并设置为全局变量的方法做为示范: 需要用到的是: 线程组---http请求---json提取器----Beanshell取样器 ;其他元件大家根据自己需要去配置即可,json提取器和正则表达式提取器

    2024年02月16日
    浏览(47)
  • jmeter使用详解(持续更新中......)

    Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试 JMeter官方文档:http://jmeter.apache.org/index.html 如果是小白同学,建议先查看 【P1】Jmeter 准备工作,里面包含了 Jmeter 下载、环境变量配置、设置语言、设置日志级别等等,可以更方便后续学习 Jmeter

    2024年02月01日
    浏览(38)
  • JMeter 5.5 使用详解(持续更新中......)

    Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试 JMeter官方文档:http://jmeter.apache.org/index.html 如果是小白同学,建议先查看 【P1】Jmeter 准备工作,里面包含了 Jmeter 下载、环境变量配置、设置语言、设置日志级别等等,可以更方便后续学习 Jmeter

    2024年02月02日
    浏览(42)
  • Jmeter的元件使用介绍:取样器详解

    Jmeter的取样器有:Http请求、JDBC请求、Beanshell取样器、调试取样器、JSR223取样器、FTP请求、GraphQL HTTP请求、TCP请求、Java请求等,本文主要介绍Http请求、JDBC请求、Beanshell取样器、调试取样器 介绍下Http请求元件的各项信息 1、协议:可以省略不填,省略默认是http协议,端口号默

    2024年02月05日
    浏览(41)
  • JMeter+提取token变成全局变量

    注:没打码,就代码乱写的接口,具体请按照你要跑的接口来输入值 一、创建线程组 二、配置HTTP请求默认值 IP地址一模一样,可以配置一个默认值,就不用每次都输入IP地址了     三、配置登陆ip 配置登陆地址,通过返回的data,得到里面的token    返回的值里面有token   四

    2024年02月16日
    浏览(46)
  • linux部署jmeter并配置环境变量

    1、将jmeter压缩包上传至服务器中,使用unzip 进行解压至apache-jmeter-5.4.1文件夹  2、服务器未安装unzip时,yum install unzip 3、在/etc/profile中配置系统环境,也可在~/profile中配置当前用户环境变量    vi /etc/profile 配置java环境变量 配置jmeter环境变量 配置文件修改完成后,执行source命

    2024年02月15日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包