JMeter时间函数

 
 
在工作中,遇到了下面这种接口情况,他需要在信息头里边上传最新的时间戳,否则订单下不成功,提示时间时间差异,一个笨办法解决,我们每次手动去信息头修改最新的时间,可以解决问题。但是更好的办法就是使用时间函数,并调用变量。
 
 
 
 
 
总结一下jmeter的时间函数使用:
1、__time :获取时间戳、格式化时间
  1)${__time(,)} :获取当前时间戳(当前时间的毫秒数),默认精确到毫秒级别,13位数,如:1650356704900
  2)${__time(,time_ms)} :获取当前的时间戳并存入参数 time_ms 中
  3)${__time(/1000,)} :获取当前时间的秒数,精确到秒级别,10位数,如:1650356723
  4)${__time(/1000,time_s)} :获取当前时间的秒数并存入参数 time_s 中
  5)${__time(yyyy-MM-dd,)} :获取当前日期,如:2022-04-19
  6)${__time(yyyy-MM-dd,time_date)} :获取当前日期并存入参数 time_date 中
  7)${__time(yyyy-MM-dd HH:mm:ss,)} :获取当前时间,固定格式,如:2022-04-19 16:21:30
  8)${__time(yyyyMMddHHmmss,)} :获取当前时间,固定格式,如:20220419162107
  9)${__time(YMDHMS,)} :获取当前时间,固定格式,如:20220419-161941
  10)${__time(yyyy-MM-dd HH:mm:ss:SSS,)} :获取当前时间,固定格式,如:2022-04-19 16:23:02:876
  11)${__time(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',)} :获取当前时间,固定格式,如:2022-04-19T16:27:16.810Z
  12)${__intSum(${__time(yyyy)},1,)} :在当前年上+1年
  13)${__intSum(${__time(MM)},1,)} :在当前月上+1月
  14)${__intSum(${__time(dd)},1,)} :在当前日上+1日
2、__TimeShift(格式,日期,移位,语言环境,变量) :可对日期进行移位加减操作
  1)PT10.345 解析为:加 10.345 秒,如:当前时间为 2022-04-19 16:55:33:318 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT12.345,,)} 的执行结果为 2022-04-19 16:55:43:663
  2)PT15M 解析为:加 15 分钟,如:当前时间为 2022-04-19 16:58:28 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT15M,,)} 的执行结果为 2022-04-19 17:13:28
  3)PT10H 解析为:加 10 小时,如:当前时间为 2022-04-19 17:00:03 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT10H,,)} 的执行结果为 2022-04-20 03:00:03
  4)P2DT3H4M 解析为:加2天3小时4分钟,如:当前时间为 2022-04-19 17:01:35 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,P2DT3H4M,,)} 的执行结果为 2022-04-21 20:05:35
  5)PT-6H3M 解析为:减6小时加3分钟,如:当前时间为 2022-04-19 17:04:14 ,${__timeShift(yyyy-MM-dd HH:mm:ss,,PT-6H3M,,)} 的执行结果为 2022-04-19 11:07:14
  6)-PT6H3M 解析为:减6小时3分钟,如:当前时间为 2022-04-19 17:05:09 , ${__timeShift(yyyy-MM-dd HH:mm:ss,,-PT6H3M,,)} 的执行结果为 2022-04-19 11:02:09
3、__RandomDate :时间短哪随机取值时间
  1)${__RandomDate(yyyy-MM-dd,2020-06-02,2022-04-19,,)} 会在2020-06-02~2022-04-19之间任取一个日期并返回
 
 
       以上就是我们常用到的时间函数了。我们只需要把变量粘贴复制到我们的JMeter当中就可以了。粘贴的是变量,不是时间函数,时间函数为:Time. Time函数就是时间函数。他的格式为:年月日时分秒:yyyy/MM/dd HH:mm:ss = Y/M/D H:M:S,所以啊,正常情况下,我们只需要知道啥是时间函数,时间函数怎么用就行了,更好的话,背一条
 
使用方法:
0
 
0
 
 
 
 
 
在JMeter当中,我们还可以使用自带的工具去校验我们的函数。
0
 
0
 
0
 
 
 
     只要掌握对应格式,直接在JMeter当中去生成变量,也是一个不错的方法,人家直接把变量名,和最终的效果都给展示出来了。
time函数时间格式有如下格式:
年月日:yyMMdd = YMD,
时分秒:HHmmss = HMS,
年月日时分秒:yyyy/MM/dd HH:mm:ss = Y/M/D H:M:S
0

 

posted @ 2024-04-23 10:50  xiaodi888  阅读(1446)  评论(0编辑  收藏  举报