JMeter(八)_函数助手大全

官方文档

常用

__BeanShell

  • 入参:BeanShell语法的程序语句或者Bean Shell脚本文件

  • 示例:

    1
    2
    ${__BeanShell(123*456,)}:返回56088;
    ${__BeanShell(source("function.bsh",))}:执行在function.bsh中的脚本;

    BeanShell

__Random

  • 作用:生成指定范围内的随机数
  • 入参:左右范围;变量名
  • 示例:
1
${__Random(1,20,random_num)}

__Random

__RandomDate

  • 作用:生成指定范围内的日期
  • 入参:日期格式;左右范围;语言;变量名
  • 示例:
1
${__RandomDate(,,2050-07-08,,)}

__RandomDate

__RandomFromMultipleVars

首先要创建用户定义的变量name1,name2,areaCode

  • 作用:在设定的几个值中随机使用其一,如下在name1、nema2、areaCode中随机使用
  • 入参:多个值,使用|分隔;变量名
  • 示例:
1
${__RandomFromMultipleVars(name1|name2|areaCode,name)}

__RandomFromMultipleVars

__RandomString

  • 作用:生成指定长度的字符串
  • 入参:字符串长度;可选字符串;变量名
  • 示例:
1
${__RandomString(2,我爱你祖国,random_char)}

__RandomString

__UUID

  • 作用:获取UUID
  • 入参:无
  • 示例:
1
${__UUID}

__UUID

__time

  • 作用:返回当前时间,可指定返回格式,由SimpleDateFormat类处理函数格式
    • 年:yyyy
    • 月:MM
    • 日:dd
    • 时:hh
    • 分:mm
    • 秒:ss
  • 入参:返回格式;变量名
  • 示例:
1
${__time(yyyy-MM-dd hh:mm:ss,)}

__time

__timeShift

  • 作用:
  • 入参:
    • 格式:创建日期的格式。如果该值未被传递,则以毫秒为单位创建日期。
    • 日期:日期值
    • 移位:从日期参数的值中添加或减去多少天,几小时或几分钟
      • “PT20.345S”解析为“20.345秒”
      • “PT15M”解析为“15分钟”
      • “PT10H”解析为“10小时”
      • “P2D”解析为“2天”
      • “P2DT3H4M”解析为“2天,3小时和4分钟”
      • “P-6H3M”解析为“-6小时+3分钟”
      • “-P6H3M”解析为“-6小时-3分钟”
      • “-P-6H + 3M”解析为“+6小时和-3分钟”
    • 区域设置:设置创建日期的显示语言
    • 变量名
  • 示例:
1
${__timeShift(yyyy-MM-dd HH:mm:ss,,P2D,,c)}

__timeShift

##__counter

  • 作用:作为一个计数器使用,支持多线程(多用户)
  • 入参:计数变量i,是否为线程计数器True/False
  • 示例
1
2
${__counter(FALSE,count)}; 全局计数器
${__counter(TRUE,count)}; 每个用户有自己的计数器

__counter

__intSum

  • 作用:整数求和,多个数字之间用逗号分隔
  • 入参:第一个整数;第二个及之后的整数;变量名
  • 示例:
1
${__intSum(1,2,test)}

__intSum

__longSum

  • 作用:计算长整型的和
  • 入参:整数
  • 示例
1
${__longSum(1,2],sum)}

__longSum

__CSVRead

  • 作用:从文件读取指定列的值(读取固定值/读取动态值/使用文件别名)
  • 入参:文件路径;读取方式;
  • 示例
1
2
3
4
5
${__CSVRead(/Users/vic/Downloads/Jmeter ALY/phone_numbers.csv,0)};读取第一列的值
${__CSVRead(/Users/vic/Downloads/Jmeter ALY/phone_numbers.csv,next())}; 每次读取下一次的值,配合第一条使用,否则不知道从哪里开始

${__CSVRead(/Users/vic/Downloads/Jmeter ALY/phone_numbers.csv,*user_info)};使用别名,然后通过以下方法获取数据
${__CSVRead(*user_info, 1)}

__CSVRead

其他