Jmeter函数助手之timeShift

一、背景

在使用Jmeter做性能测试、接口自动化测试时,遇到需要传入时间的参数时,此时可以用Jmeter函数助手timeShift,造时间参数。

二、函数助手调用

启动jmeter界面后,可以在JMeter的选项菜单中找到函数助手对话框(快捷键:Ctrl+Shift+F1),如下图所示:

打开函数助手后,可从下拉列表中选择需要的函数,并为其参数设定值,不同的函数要求的参数也不同。

函数参数,第一列是名称,这是函数参数的简要描述,第二列是值,这是需要用户填充参数的值。

三、timeShift函数

1、界面说明

这个函数的功能就是,以给定的格式返回一个日期,并添加指定的秒、分、小时、天或月。本质就是对日期进行移位加减操作。界面如下:

参数说明:

  • 第一个参数

    • Format string for DateTimeFormatter (optional) (default unix timestamp in millisecond):非必填;日期格式不指定格式时,默认会返回毫秒数。

      建议格式: yyyy/MM/dd HH:mm:ss
      
  • 第二个参数

    • Date to shift (optional) (default : now ):非必填;要转换的日期。如果省略不填,则日期设置为现在

      建议格式: yyyy/MM/dd HH:mm:ss
      
  • 第三个参数

    • Amount of seconds/minutes/hours/days to add (e.g. P2D : plus two days) (optional):非必填;要移动的时间数

          "PT20.12S" -- 增加 20.12 秒
          "PT15M"     -- 增加 15 分钟
          "PT10H"     -- 增加 10 小时
          "P2D"       -- 增加 2 天
          "P2DT3H4M"  -- 增加 2 天 3 小时 4 分钟
          "PT-6H3M"    -- 减少 6 小时,同时增加 3 分钟
          "-PT6H3M"    -- 减少 6小时 3 分钟
          "-PT-6H+3M"  -- 增加 6 小时,同时减少 3 分钟
      
    • 注意:

      • 如果是增减时、分、秒,前缀是 PT
      • 如果是增减天,前缀是 P
  • 第四个参数

    • String format of a locale (ex: fr_FR , en_EN) (optional):非必填;语言环境的字符串格式

      #中文环境
      zh_CN
      
      #英文环境
      en_US
      
  • 第五个参数

    • Name of variable in which to store the result (optional):非必填;生成的日期,赋值给新变量名。

2、函数使用

日期格式 需要改变的日期 日期移动表达式 语言环境 函数表达式 返回结果 问题说明
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 PT20S zh_CN $ 2020/01/01 00:00:20 增加 20秒
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 PT15M zh_CN $ 2020/01/01 00:15:00 增加 15 分钟
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 PT10H zh_CN $ 2020/01/01 10:00:00 增加 10 小时
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 P2D zh_CN $ 2020/01/03 00:00:00 增加 2天
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 P2DT3H4M zh_CN $ 2020/01/03 03:04:00 增加 2 天 3 小时 4 分钟
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 PT-6H3M zh_CN $ 2019/12/31 18:03:00 减少 6 小时,同时增加 3 分钟
yyyy/MM/dd HH:mm:ss 2020/01/01 00:00:00 -PT-6H+3M zh_CN $ 2020/01/01 05:57:00 增加 6 小时,同时减少 3 分钟

注意:需要改变的日期,如果省略不填,则日期设置为现在。

四、参考

1、官网:https://jmeter.apache.org/usermanual/functions.html#__timeShift

posted @ 2022-10-28 17:54  xyztank  阅读(563)  评论(0编辑  收藏  举报