jmeter常见函数

常用函数

/*
__counter:统计函数,加1计算器,只能实现 + 1
如果想要自定义递增的步长
*/

__counter加1函数

  • __counter

    • 统计函数,加1计算器,只能实现 + 1

计数器

可以实现:自定义递增步长

  • 计数器(元件)

    • 最大值: 当运行获取的最大值,超过我们设置的最大值时候,又会从起始值开始

四则运算函数

  • 可以使用函数:${\_\_jexl3(,)} ${\_\_javaScript(,)} ${\_\_groovy(,)}

时间相关函数

  • ${__time(,)} 获取当前时间戳

  • ${__timeShift(yyyy-MM-dd,,p4d,,)} 时间偏移函数

  • ${__dateTimeConvert(,,,)} 时间格式转换

  • ${__RandomDate(,,,,)} 随机一个日期

加密函数

  • ${__digest(md5,123456,,,)} 加密函数。 就对123456进行md5加密

__groovy函数

__jexl3两者使用是一样的

JEXL expression to evaluate:填写要计算的表达式

/*
==是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1。
!=不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1。
!非,如${__jexl3(!(${VAR}!=1),)},对${VAR}!=1的结果取反。
&&且和||或,如${__jexl3(${VAR}==1 && "${name}" != "张三",)}。
>大于或者>=大于等于,如${__jexl3(${count}>=10,)}。
*/

属性函数

跨线程组传递参数使用

  • ${__setProperty(,,)} 设置动态属性函数

  • ${__P(,)} ${__property(,,)} 获取属性

_V拼接函数

  • Jmeter 本身是不支持嵌套函数的,所以想要嵌套就得用这个函数!

  • 使用函数助手时,会默认加个"," 要把这个默认逗号去除掉,不然会导致拼接不成功

/*
前置条件,user也是变量
user_1、 user_2、user_3
${user_${__counter(,)}}  错的   这种写法不行,
${__V(${user}_${__counter(,)},)}
因为,变量引用时,变量名称中再使用函数时,没有被运行
​
应用场景:
+ 在后置处理器提取多个值,进行关联的时候,会要使用
+ 在jdbc从数据库返回多值时,也会使用
​
坑:
使用函数助手时,会默认加个"," 要把这个默认逗号去除掉,不然会导致拼接不成功
所以函数助手会一直返回空
​
案例:
${__V(${user}_${__counter(,)},)}  错误的
${__V(${user}_${__counter(,)})} 正确的
*/

threadNum函数

# threadNum函数的值只与线程组中设置的线程数有关,设置了几个线程数,则threadNum的最大值就为几,跟执行运行多久没有任何关系
# 不同线程组之间的线程编号是独立的,互不影响

 

posted @ 2023-03-27 21:53  无敌大牛牛  阅读(217)  评论(0编辑  收藏  举报