Jmeter-函数助手之时间函数生成明天、今天、昨天的时间

发布时间 2023-08-17 16:37:38作者: JINJIE-TEST

 

JMeter中的_timeShift函数可用于将本地时间与UTC时间之间进行转换。下面是一个使用_timeShift函数的示例:

  1. 假设你需要在测试过程中捕获当前的本地时间,并将其用作请求参数中的时间戳。

  2. 假设你的请求参数中需要一个时间戳参数,它的格式为“yyyy-MM-dd'T'HH:mm:ssZ”,其中Z代表UTC时间偏移量。

  3. 使用以下语法使用_timeShift函数:

    ${__timeShift(yyyy-MM-dd'T'HH:mm:ssZ,${__time(,)},P0DT0H0M0S,)}

    上述语法意指:使用当前本地时间作为时间戳,将其格式化为“yyyy-MM-dd'T'HH:mm:ssZ”,并将其转换为UTC时间。其中,P0DT0H0M0S表示不需要对时间进行偏移,它表示偏移量为零。

    如果要将本地时间转换为UTC时间并添加一小时:

    ${__timeShift(yyyy-MM-dd'T'HH:mm:ssZ,${__time(,)},P0DT1H0M0S,)}

    上述语法意指:使用当前本地时间作为时间戳,将其格式化为“yyyy-MM-dd'T'HH:mm:ssZ”,并将其转换为UTC时间。将时间偏移量增加1小时,这样就能够正确地将当前本地时间转换为UTC时间并添加小时了。

    在实际使用过程中,需要根据实际需要调整参数的格式和偏移量。

样例

  1. 明天的时间:
${__timeShift(dd/MM/yyyy HH:mm:ss, , P1D,,)}
  1. 今天的时间:
${__time(dd/MM/yyyy HH:mm:ss)}
  1. 昨天的时间:
${__timeShift(dd/MM/yyyy HH:mm:ss, , -P1D,,)}
  1. 当前时间:
${__time(dd/MM/yyyy HH:mm:ss)}
  1. 最近10分钟:
${__timeShift(dd/MM/yyyy HH:mm:ss, , PT10M,,)}
  1. 最近一小时:
${__timeShift(dd/MM/yyyy HH:mm:ss, , PT1H,,)}

上述代码中,“dd/MM/yyyy HH:mm:ss”代表日期和时间的格式,你可以根据自己的需求进行调整。同时需要注意的是,JMeter中的时间函数返回的是字符串类型的时间值,因此需要在测试中将其转换为Date类型的值。

结合Bean Shell PostProcessor 验证是否符合预期