目录

1、前言

2、函数助手

3、time函数

4、timeShift函数

5、RandomDate函数


1、前言

在我们使用 Jmeter 进行接口自动化或者压测的时候,重复迭代时有可能会使用时间来作为唯一标记。在进行接口测试时,指定日期的参数,也想随着不同时期执行时采用函数的方式来有规律的进行赋值。

Jmeter 的函数助手提供了三种时间函数,分别是:time、timeShift、RandomDate

2、函数助手

1、打开 Jmeter,例如:测试计划里,依次创建线程组、用户参数、调试采样器、查看结果树。

jmeter  JavaScript函数作用 jmeter常用函数_单元测试

2、点击函数助手图标。

jmeter  JavaScript函数作用 jmeter常用函数_单元测试_02

3、弹出函数助手页面,选择相应的函数后,填写下面的值并单击生成,即可使用生成的函数语法。

jmeter  JavaScript函数作用 jmeter常用函数_压力测试_03

3、time函数

time 函数以各种格式返回当前时间

1、选择 time 函数。

jmeter  JavaScript函数作用 jmeter常用函数_变量名_04

2、直接点击 Generate& Copy to clipboard 按钮,进行生成并复制到剪贴板。

Function syntax 显示此函数的语法,如 ${__time(,)}
The result of the function is 显示此函数的结果,如 1646208073512 以毫秒为单位返回时间
Current JMeter Variables 显示当前 Jmeter 变量
Reset Variables 按钮,可进行重置变量

jmeter  JavaScript函数作用 jmeter常用函数_压力测试_05

用户参数,变量 user 添加生成的函数语法。

jmeter  JavaScript函数作用 jmeter常用函数_字符串_06

执行结果。

jmeter  JavaScript函数作用 jmeter常用函数_压力测试_07

3、添加可选参数,进行时间格式和变量名设置。

参数:

Format string for SimpleDateFormat(optional)
SimpleDataFormat 的格式字符串(可选)
 
Name of variable in which to store theresult (optional)
存储结果的变量名称(可选)

例如:

生成的函数语法 

${__time(yyyy/MM/dd,my_time)}

jmeter  JavaScript函数作用 jmeter常用函数_压力测试_08

用户参数,变量 user1 添加生成的函数语法,变量 user2 引用设置的变量名。

jmeter  JavaScript函数作用 jmeter常用函数_时间格式_09

执行结果。

jmeter  JavaScript函数作用 jmeter常用函数_时间格式_10

4、常用到的时间格式。

${__time(,)} 例如返回 1646209943514
${__time(yyyy/MM/dd,)} 例如返回 2022/03/02
${__time(dd/MM/yyyy,)} 例如返回 02/03/2022
${__time(YMD,)} 例如返回 20220302
${__time(HMS,)} 例如返回 163556
${__time(YMDHMS,)} 例如返回 20220302-163619
${__time(yyyy-MM-dd HH:mm:ss,)} 例如返回 2022-03-02 20:54:06

4、timeShift函数

timeShift 函数返回给定格式的日期,并添加指定的秒数、分钟数、小时数、天数或月数

1、选择 timeShift 函数。

jmeter  JavaScript函数作用 jmeter常用函数_时间格式_11

2、直接点击 Generate& Copy to clipboard 按钮,进行生成并复制到剪贴板。

Function syntax 显示此函数的语法,如 ${__timeShift(,,,,)}
The result of the function is 显示此函数的结果,如 1646212247084 以毫秒为单位返回时间
Current JMeter Variables 显示当前 Jmeter 变量
Reset Variables 按钮,可进行重置变量

jmeter  JavaScript函数作用 jmeter常用函数_字符串_12

用户参数,变量 user 添加生成的函数语法。

jmeter  JavaScript函数作用 jmeter常用函数_字符串_13

执行结果。

jmeter  JavaScript函数作用 jmeter常用函数_字符串_14

3、添加可选参数,进行时间格式和变量名设置。

参数:

Format string for DateTimeFormatter(optional) (default unix timestamp in millisecond)
DateTimeFormatter 的格式字符串(可选)(默认unix时间戳,单位为毫秒)

Date to shift (optional) (default : now )
转换日期(可选)(默认值:现在)

Amount of seconds/minutes/hours/days to add(e.g. P2D : plus two days) (optional)
要添加的秒/分钟/小时/天的数量(例如P2D:加上两天)(可选)
PT20.345S 解析为加上20.345 秒
PT15M 解析为加上 15 分钟
PT10H 解析为加上 10 小时
P2D 解析为加上 2 天
-P6H3M 解析为减去 -6 小时 -3 分钟

String format of a locale (ex: fr_FR ,en_EN) (optional)
区域设置的字符串格式(例如:fr_FR , en_EN)(可选)
语言代码必须是小写,国家代码必须是大写,分隔符必须是下划线。

Name of variable in which to store theresult (optional)
存储结果的变量名称(可选)

例如:

生成的函数语法

${__timeShift(yyyy/MM/dd,2022/06/01,P2D,en_EN,my_time)}

jmeter  JavaScript函数作用 jmeter常用函数_变量名_15

用户参数,变量 user1 添加生成的函数语法,变量 user2 引用设置的变量名。

jmeter  JavaScript函数作用 jmeter常用函数_单元测试_16

执行结果。

jmeter  JavaScript函数作用 jmeter常用函数_压力测试_17

4、常用到的时间格式。

${__timeShift(,,,,)} 例如返回 1646214332811
${__timeShift(yyyy/MM/dd,,,,)} 例如返回 2022/03/02
${__timeShift(dd/MM/yyyy,01/06/2022,,,)} 例如返回 01/06/2022
${__timeShift(dd/MM/yyyy,01/06/2022,P5D,,)} 例如返回 06/06/2022
${__timeShift(dd MMMM yyyy,21 février2022,P1D,fr_FR,)} 例如返回 22 février 2022

5、RandomDate函数

RandomDate 函数返回一个介于给定开始日期和结束日期值之间的随机日期

1、选择 RandomDate 函数

jmeter  JavaScript函数作用 jmeter常用函数_时间格式_18

2、参数 End date 结束日期为必填项,例如输入日期 2050-01-01 ,之后点击 Generate & Copy toclipboard 按钮,进行生成并复制到剪贴板。

Function syntax 显示此函数的语法,如 ${__RandomDate(,,2050-01-01,,)}
The result of the function is 显示此函数的结果,如 2042-06-25 以毫秒为单位返回时间
Current JMeter Variables 显示当前 Jmeter 变量
Reset Variables 按钮,可进行重置变量

jmeter  JavaScript函数作用 jmeter常用函数_时间格式_19

用户参数,变量 user 添加生成的函数语法。

jmeter  JavaScript函数作用 jmeter常用函数_字符串_20

执行结果。

jmeter  JavaScript函数作用 jmeter常用函数_压力测试_21

3、添加可选参数,进行时间格式和变量名设置。

参数:

Format string for DateTimeFormatter(optional) (default yyyy-MM-dd)
DateTimeFormatter 的格式字符串(可选)(默认为 yyyy-MM-dd)

Start date (optional) (default: now)
开始日期(可选)(默认值:现在)

End date
结束日期(必选)

String format of a locale (ex: fr_FR ,en_EN) (optional)
区域设置的字符串格式(例如:fr_FR , en_EN)(可选)
语言代码必须是小写,国家代码必须是大写,分隔符必须是下划线。

Name of variable in which to store theresult (optional)
存储结果的变量名称(可选)

例如:

生成的函数语法

${__RandomDate(yyyy/MM/dd,2022/06/01,2050/06/01,en_EN,my_time)}

jmeter  JavaScript函数作用 jmeter常用函数_变量名_22

用户参数,变量 user1 添加生成的函数语法,变量 user2 引用设置的变量名。

jmeter  JavaScript函数作用 jmeter常用函数_单元测试_23

执行结果。

jmeter  JavaScript函数作用 jmeter常用函数_时间格式_24

4、常用到的时间格式。

${__RandomDate(,,2050-06-01,,)} 例如返回 2028-06-14
${__RandomDate(yyyy MM dd,2022 06 01,2050 06 01,,)} 例如返回 2046 07 14
${__RandomDate(dd/MM/yyyy,01/06/2022,01/06/2050,en_EN,)} 例如返回 29/12/2029