• 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

  • 相关阅读:
    cpp随笔——浅谈右值引用,移动语义与完美转发
    ROS MoveIT1(Noetic)安装总结
    Blender 学习笔记(一)
    Kafka服务端高性能技术细节原理:基于零拷贝的mmap和sendfile
    Day 34 贪心算法 part03 : 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
    Linux 隐藏进程
    【运维语音播报】Zabbix告警语音声光播报的实现
    无缝迁移至阿里云RocketMQ:从私有化部署到云端的实用指南
    零基础亦能看懂的神经网络笔记【零基础数模系列】
    论文:OIE@OIA: an Adaptable and Efficient Open Information Extraction Framework
  • 原文地址:https://blog.csdn.net/lovedingd/article/details/136205191