Jmeter函数助手常用函数

记录一些使用过或常用的函数

1、_Random函数     在指定的范围内取随机数字

形式:${__Random(1,999,id)} ,后续脚本中可使用${__Random(1,999,id)}或${id},取值范围一致

1)随机生成数字

2)添加多条数据记录且某些字段需要唯一性时使用

3)3个参数,前2个必填,最后1个非必填

2、 __chooseRandom函数  从指定的范围里面取值,为枚举随机数
形式:${__chooseRandom(a,b,c,id)},后续脚本中可使用${__chooseRandom(a,b,c,id)}或${id},取值范围一致

1)在指定的范围内取字符

2)2个参数,第1个必填,最后1个非必填

3、__CSVRead函数  从文件中读取数据

1)新建一个txt文件,文件中每个数据一行,数据中间用英文逗号分隔,见下图

2)2个参数,第一个参数为文件的绝对路径,第二个为数据所在列,注意第一列为0

举例,如上图数据为用户名和密码,使用方式如下:

用户名:${__CSVRead(D:\Program Files (x86)\apache-jmeter-4.0\bin\scripts\yuyuetijian\user.txt,0)}

密码:${__CSVRead(D:\Program Files (x86)\apache-jmeter-4.0\bin\scripts\yuyuetijian\user.txt,1)}

4、__RandomDate函数  生成指定范围内的随机日期

形式如:${__RandomDate(,,2020-08-29,,)}

1)5个参数,只有第三个参数必填,为结束日期;

2)第二个参数为开始日期(默认为系统当天日期),第三个参数为结束日期,常用于指定开始日期和结束日期之间的随机日期;

3)注意第一个参数为格式,如果更改日期格式,则开始和结束日期也需要随之更改;

4)具体参数解释如下:

  • Format string for DateTimeFormatter (optional) (default yyyy-MM-dd):日期格式化方法,默认为yyyy-MM-dd;
  • Start date (optional) (default: now):为开始日期,格式必须和日期格式化方法一致,如格式化方法不填,则此处格式需为2018-02-03,如不填则默认为现在;
  • End date:和Start date类似,但是此项必填;
  • String format of a locale (ex: fr_FR , en_EN) (optional):日期相关的地区信息,可以不填;
  • Name of variable in which to store the result (optional):参数名称,也可以不填;

5、__time函数   将当前系统时间转换为需要的格式输出

形式:${__time(yyyy-MM-dd HH:mm:ss:SSS,)}      ${__time(yyyy-MM-dd HH:mm:ss,)}  

1)2个参数,均非必填,第二个参数(变量名称)不常用

2)第一个为时间格式,默认则生成unix时间戳格式,${__time(,)},如不需要毫秒级的时间戳,可以使用${__time(/1000,)}

3)HH:mm:ss  HH大写为24小时格式; hh:mm:ss hh小写为非24小时格式;

6、__timeShift函数  可对时间进行加减转换,为基准时间加减位移时间

形式:${__timeShift(yyyy-MM-dd,,P1D,,)}

1)5个参数,均为非必填,第四个参数和第五个参数(变量名称)不常用;

2)第一个参数为时间格式,默认为unix时间戳格式,可修改为如yyyy-MM-dd HH:mm:ss:SSS

3)第二个参数为基准时间,默认为当前系统时间

4)第三个参数为位移时间,可以对天、小时、分、秒进行加减;

  • 首字母:如果只对天进行加减,则首字母为P;如果对时分秒加减,则首字母为PT;如果需要天和时分秒一起加减,则为P天 T时分秒格式;
  • 符号:增加时可以不使用符号,也可使用+;减少时使用 - 号;
  • 加减天、小时、分、秒对应的字母为D、H、M、S

举例如下:

1)仅对天加减:  ${__timeShift(yyyy-MM-dd,,P1D,,)}  代表增加1天 

 ${__timeShift(yyyy-MM-dd,,P-1D,,)}   代表减少1天 

2)对时分秒加减:${__timeShift(yyyy-MM-dd HH:mm:ss,,PT-6H10M10S,,)}   代表减少6小时,增加10分钟,增加10秒。

3)对天和时分秒一起加减:${__timeShift(yyyy-MM-dd HH:mm:ss,,P2DT-6H10M10S,,)}  代表增加2天,减少6小时,增加10分钟,增加10秒。

7、__counter函数 计数器

1)2个参数,第一个参数非必填(默认为true),第二个参数非必填(变量名称)

2)第一个参数为true,则每个用户单独计数,为false,则全局计数;

形式如:${__counter(true,)}  每个用户单独计数,如2个线程,循环30次,则每个线程的计数最大为循环数 1/2/3...30

${__counter(false,)}  全局计数,如2个线程,循环30次,则计数为线程数*循环数 1/2/3...60

如何使用不太清楚,网上有说可以用在Java请求中,如下图:

8、机器相关

${__machineName()}    机器名称

${__machineIP()}     机器ip

9、__javaScript函数(不会用)

形式:${__javaScript(new Date(),d1)}

函数__javaScript可以用来执行JavaScript代码片段(非Java),并返回结果值。JMeter的_javaScript函数会调用标准的JavaScript解释器。JavaScript会作为脚本语言使用,因此测试人员可以做相应的计算。

10、函数组合使用   

例如   ${__lowercase(${__machineName()},)}

以上内容已转移到有道云笔记~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值