1、前言
在我们使用 Jmeter 进行接口自动化或者压测的时候,重复迭代时有可能会使用时间来作为唯一标记。在进行接口测试时,指定日期的参数,也想随着不同时期执行时采用函数的方式来有规律的进行赋值。
Jmeter 的函数助手提供了三种时间函数,分别是:time、timeShift、RandomDate
2、函数助手
1、打开 Jmeter,例如:测试计划里,依次创建线程组、用户参数、调试采样器、查看结果树。
2、点击函数助手图标。
3、弹出函数助手页面,选择相应的函数后,填写下面的值并单击生成,即可使用生成的函数语法。
3、time函数
time 函数以各种格式返回当前时间
1、选择 time 函数。
2、直接点击 Generate& Copy to clipboard 按钮,进行生成并复制到剪贴板。
Function syntax 显示此函数的语法,如 ${__time(,)}
The result of the function is 显示此函数的结果,如 1646208073512 以毫秒为单位返回时间
Current JMeter Variables 显示当前 Jmeter 变量
Reset Variables 按钮,可进行重置变量
用户参数,变量 user 添加生成的函数语法。
执行结果。
3、添加可选参数,进行时间格式和变量名设置。
参数:
Format string for SimpleDateFormat(optional)
SimpleDataFormat 的格式字符串(可选)
Name of variable in which to store theresult (optional)
存储结果的变量名称(可选)
例如:
生成的函数语法
${__time(yyyy/MM/dd,my_time)}
用户参数,变量 user1 添加生成的函数语法,变量 user2 引用设置的变量名。
执行结果。
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 函数。
2、直接点击 Generate& Copy to clipboard 按钮,进行生成并复制到剪贴板。
Function syntax 显示此函数的语法,如 ${__timeShift(,,,,)}
The result of the function is 显示此函数的结果,如 1646212247084 以毫秒为单位返回时间
Current JMeter Variables 显示当前 Jmeter 变量
Reset Variables 按钮,可进行重置变量
用户参数,变量 user 添加生成的函数语法。
执行结果。
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)}
用户参数,变量 user1 添加生成的函数语法,变量 user2 引用设置的变量名。
执行结果。
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 函数
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 按钮,可进行重置变量
用户参数,变量 user 添加生成的函数语法。
执行结果。
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)}
用户参数,变量 user1 添加生成的函数语法,变量 user2 引用设置的变量名。
执行结果。
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
精彩推荐
面试笔试系列
思维导图系列
Linux常用命令壁纸
接口Requests系列
测试框架pytest系列
Jmeter快速上手之接口测试
自动化测试框架结构图
移动安全框架(MobSF)
版权归原作者 wangmcn 所有, 如有侵权,请联系我们删除。