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

Jmeter之内置函数__property和__P的区别

1. __property函数

作用

读取 Jmeter 属性

语法格式

${__property(key,var,default)}

参数讲解
小栗子

${__property(key)}

  • 读取 key 属性
  • 如果找不到 key 属性,则返回 key(属性名)
     

${__property(key,,default)}

  • 读取 key 属性
  • 如果找不到 key 属性,则返回 default
     

${__property(key,prop,default)}

将读取到的属性值存储到 prop 变量中,可通过 ${prop} 引用

实际栗子

线程组

结果树


前三个 sampler 读取的属性是存在的,所以会返回对应的值
最后一个 sampler 读取了不存在的属性,返回了默认值

重点

  • 如果没有加 , 则代表没有传默认值,意味着默认值参数是 null(空),会返回属性名,如: ${__property(keys)} 
  • 如果加了 ,  代表有传参但没有填值,代表值为空字符串,如: ${__property(keys,,)} 
  • 对于这个函数,若属性不存在,且默认值传了空字符串,则不会返回属性名,如最后一个 sampler
  • 如果不传默认值参数,不等价于默认值可以填 null,这是字符串的 null,不是空

2. __P函数

作用

和 __property 作用一样,不过这是简化版的

语法格式

${__P(key,default)}

参数讲解
 

和 __property 的区别

无法指定引用变量名
若属性名不存在,且未提供默认值,会返回 1 而不是属性名

函数助手

实际栗子
线程组

结果树

重点

  • 如果没有加 , 则代表没有传默认值,意味着默认值参数是 null(空),会返回 1,如: ${__P(user.dirs)} 
  • 如果加了 , 代表有传参但没有填值,代表值为空字符串,如:  ${__P(user.dir,)}  
  • 对于这个函数,若属性不存在,且默认值传了空字符串,则不会返回 1,如最后一个 sampler
  • 如果不传默认值参数,不等价于默认值可以填 null,这是字符串的 null,不是空
     

3.总结

1、函数助手里的 __P及__property的使用

${__P(init,2)} , ${__property(init,start,200)}

可以自行定义变量名称,及变量的默认值  

P 变量名为init, 值为2 ,使用的时候直接${__P(init,2)}就可以,改变量的结果为2 

${__property(init,start,200)} 变量名为init, 默认值为200,同时会将200默认传给start这个变量,start可进行再使用 ${start}

2、还有一种用法是直接在jmeter.properties的文件中添加几个固定的变量

#默认的一些值

group1.thread = 10 

group2.rampup=1

设置好这些内容后重启jmeter,可以通过p /property使用这些变量  

${__P(group1.thread)} , ${__property(group1.thread,save,)}

这样的变量会去jmeter.properties里面读取相应的配置默认值

P和property的区别就是是否将第一个变量的值存储到另外一个变量中

其它JMeter内置函数请参考51CTO搜索-51CTO.COM

http://www.lryc.cn/news/307083.html

相关文章:

  • GPT润色指令
  • Ubuntu中matplotlib显示中文的方法
  • String类-equals和==的区别-遍历-SubString()-StringBuilder-StringJoiner-打乱字符串
  • IDEA的LeetCode插件的设置
  • 2024.2.29 模拟实现 RabbitMQ —— 项目展示
  • React htmlfor
  • 现代化数据架构升级:毫末智行自动驾驶如何应对年增20PB的数据规模挑战?
  • 理解Stable Diffusion、LoRA、Dreambooth、Hypernetworks、Textual Inversion、Checkpoint
  • spring boot3登录开发-2(1图形验证码接口实现)
  • 网络编程中的问题总结
  • 数据结构-关键路径
  • 进程间通信学习笔记(共享内存)
  • ChatGPT学习第三周
  • R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术应用
  • [C++]使用C++部署yolov9的tensorrt模型进行目标检测
  • eureka注册中心做了哪些事情/原理?
  • c语言经典测试题4
  • 设计模式(五)-观察者模式
  • MySQL-七种SQL优化
  • 针对Umi、React中遇到的 “xxxx”不能用作 JSX 组件 问题解决方案
  • 蓝桥杯备战刷题one(自用)
  • 设计模式(十) - 工厂方式模式
  • http协议基础与Apache的简单介绍
  • RabbitMQ的死信队列和延迟队列
  • PyQt 逻辑与界面分离
  • opengl播放3d pose 原地舞蹈脚来回飘动
  • Linux环境基础开发工具使用篇(三) git 与 gdb
  • mybatis---->tx中weekend类
  • Shell echo、printf、test命令
  • 腾讯云主机Ubuntu22.04安装Odoo17