目录

Jmeter常用函数

Jmeter提供了很多函数,但我们一般只会用到部分的常用函数,所以重点讲解常用的函数及其使用方法

Jmeter查询可使用的函数

打开Jmeter,点击Tools——>函数助手对话框,打开函数助手对话框

jmeter javascipt 语法 jmeter javascript函数_jmeter javascipt 语法

函数介绍及其使用

__BeanShell

  • 作用:执行BeanShell语法的程序语句或者Bean Shell脚本文件,比如得到一个算数运算的结果,拼接两个字符串。
  • 参数:
    Expression to evaluate:必填,BeanShell语法的程序语句或者Bean Shell脚本文件
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 示例:
    ${__BeanShell(156/13,)}:得到156除以13的结果为12
    ${__BeanShell(“adf”+”8998”,)}:得到两个字符串拼接后的结果为adf8998
    ${__BeanShell(“${msg01}”+”${msg02}”,msgvar)}:得到${msg01}与${msg02}拼接的字符串${msg01}${msg02},并将其保存至变量msgvar中,使用${msgvar}即可调用
  • jmeter javascipt 语法 jmeter javascript函数_jmeter javascipt 语法_02

__CSVRead

  • 作用:从csv或者txt文件读取指定列的值,从第0列开始,如果有多个线程,按顺序从第一行开始读取,如果线程数超过数据行数,则重新从第一行开始循环获取。
  • 参数:
    CSV file to get values from | *alias:必填,文件绝对路径
    Column number of CSV file | next | *alias:必填,读取第几列的数据,从0开始
  • 示例:
    ${__CSVRead(F:\PPM\JmeterScripts\TSN.csv,0):获取TSN.csv文件中第一列的数据
    ${__CSVRead(F:\PPM\JmeterScripts\TSN.csv,1):获取TSN.csv文件中第二列的数据

__Random

  • 作用:生成指定范围内的随机数
  • 参数:
    The minimum value allowed for a range of values:必填,开始值,包括开始值
    The maximum value allowed for a range of values:必填,结束值,包括结束值
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 实例:
    ${__Random(1,100,num)}:随机生成1~100之间的整数,并赋值给变量num
  • jmeter javascipt 语法 jmeter javascript函数_变量名_03

__RandomDate

  • 作用:生成指定范围内的日期
  • 参数:
    Format string for DateTimeFormatter (optional) (default yyyy-MM-dd):非必填,日期格式,默认yyyy-MM-dd
    Start date (optional) (default: now):非必填,开始日期
    End date:必填,结束日期
    String format of a locale (ex: fr_FR , en_EN) (optional):非必填,语言
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 示例:
    ${__RandomDate(yyyyMMdd,20210101,20220329,,):以yyyyMMdd格式随机生成20210101到20220329的随机日期
  • jmeter javascipt 语法 jmeter javascript函数_jmeter javascipt 语法_04

__RandomString

  • 作用:生成指定长度的字符串
  • 参数:
    Random string length:必填,字符串长度
    Chars to use for random string generation:必填,可选字符串
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 实例:
    ${__RandomString(10,qwertyuiopasdfghjklzxcvbnm1234567890,name)}:在字符串qwertyuiopasdfghjklzxcvbnm中随机获取6位随机字符串
  • jmeter javascipt 语法 jmeter javascript函数_数据_05

__time

  • 作用:返回当前时间,可指定返回格式。

年:yyyy
月:MM
日:dd
时:hh
分:mm
秒:ss

  • 参数:
    Format string for SimpleDateFormat (optional):非必填,返回格式
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 实例:
    ${__time(,)}:获取13位时间戳,比如1648524937215
    ${__time(yyyy-MM-dd hh:mm:ss,)}:获取当前时间并生成指定格式yyyy-MM-dd hh:mm:ss
  • jmeter javascipt 语法 jmeter javascript函数_变量名_06

__javaScript

  • 作用:返回JavaScript脚本执行结果,还可以直接调用jmeter的内置函数。
  • 参数:
    JavaScript expression to evaluate:必填,js表达式
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 示例:
    ${__javaScript(“sdjfsjfk89898”.substring(8,13),):截取字符串中索引位8~13位的值,逗号前要加转义符‘\’。
  • jmeter javascipt 语法 jmeter javascript函数_数据_07

__substring

  • 作用:从字符串中获取指定范围的子串
  • 参数:
    String to get part of:必填,需要获取子串的字符串
    Begin index (first is 0):必填,开始索引,从0开始
    End index:必填,结束索引,不包括
    Name of variable in which to store the result (optional):非必填,储存结果的变量名
  • 示例:
    ${__substring(afsdkjfs78564654,3,9,):截afsdkjfs78564654的第4个到第9个之间的字符串
  • jmeter javascipt 语法 jmeter javascript函数_数据_08

__split

  • 作用:根据分隔符分割字符串
  • 参数:
    String to split:必填,需要分隔的字符串
    variable Name:非必填,储存结果的变量名
    String to split on. Default is , (comma).:非必填,分隔符,默认为英文逗号
  • 示例:
    ${__split(asd4|556654,var,|)}:以|分隔asd4|556654字符串,并保存至变量var
  • jmeter javascipt 语法 jmeter javascript函数_jmeter javascipt 语法_09

__chooseRandom

  • 作用:从指定的范围里面取值
  • 参数:
    Any number of values to choose from:必填,指定多个字符串,字符串数量必须>=2,多个字符串之间用英文逗号分隔
    Last value must be variable name where choice will be stored:必填,储存结果的变量名
  • 示例:
    ${__chooseRandom(true,false,var)}:随机生成true或false,并赋值给var
  • jmeter javascipt 语法 jmeter javascript函数_jmeter javascipt 语法_10

__if

  • 作用:判断给定条件是否成立
  • 参数:
    Actual value:非必填,实际值
    Expected value:非必填,期望值
    Result if actual == expected:非必填,如果相等则返回的值
    Result if actual != expected:非必填,如果不相等则返回的值
    Name of variable in which to store the result (optional):非必填,引用变量名
  • 示例:
    ${__if(0,1,success,fail,msg)}
  • jmeter javascipt 语法 jmeter javascript函数_字符串_11