探索Jmeter“宝藏库”:如何把时间戳转为本地时间

jmeter 中,有很多已经封装好的函数,使用这些函数,就能实现某些特定的功能,这对于没有代码基础,或代码基础薄弱的同学来说,是一个非常大的福音。

其实,在我们使用 jmeter 的时候,遇到一些稍微复杂一点的功能实现时,

  • 我们大概有三种实现方式(是不是,从来没有人和你这样讲过,自己也没有认真总结过?)
    • 第 1 种,就是使用 jmeter 现有的元件或下载一些插件,使用元件来实现预期功能;
    • 第 2 种,就是使用 jmeter 提供的函数,有使用过 jmeter 的同学,如果细心点,应该会发现,jmeter 的函数其实也包括两部分,一部分是自带的函数,一部分是通过安装插件引入函数,使用这些函数,有时候能实现一些意想不到的效果,采用函数实现,比采用元件实现,更简单,脚本也更简洁;
    • 第 3 种,使用代码实现,注意,我说的代码实现,并不限于 Java 语言,也不限于 BeanShell 元件。可以是 jmeter 二次开发,可以是 groovy 语言或 jython 语言,可以是 JSR223 元件等。

今天,给大家讲的就是,jmeter 函数中,有关 时间 的相关函数用法,相信这篇文章的内容,在其他的地方绝对学不到的。

先看两张图,看大家能不能看明白,看明白了,说明你就已经掌握了。

探索Jmeter“宝藏库”:如何把时间戳转为本地时间

 

探索Jmeter“宝藏库”:如何把时间戳转为本地时间

 

获取当前时间戳函数__time()

这个函数,相信大家都清楚,大家可能用的最多的就是通过这个函数,可以生成当前时间的时间戳,或者格式化当前时间

常用于接口参数需要时间时的参数。

这个函数,有两个可填参数。

探索Jmeter“宝藏库”:如何把时间戳转为本地时间

 

  • 如果都不填,那么获得的是当前时间的时间戳;
  • 如果填第一个参数,就是格式化当前时间,填写对应的时间格式,把当前时间用对应的格式返回;如果想要格式化时间精确到毫秒:${__time(yyyy-MM-dd HH:mm:ss:SSS,)}
  • 如果填第二个参数,就是把时间结果用一个变量接收

但是,不管怎么用,都只能获取当前时间

时间位移__timeShift()

这个函数,是离获取当前时间的 time 函数最近的一个函数,也是大家最容易与 time 函数混淆的函数。是时间位移函数。

常见于脚本中需要做时间偏移计算时用。

这个函数,它有五个可选参数:

探索Jmeter“宝藏库”:如何把时间戳转为本地时间

 

如果所有的都不填,那也是获取当前的时间戳;

  • 第 1 个参数,是格式化时间,如果不填,时间戳精确到毫秒,如果填了,就格式化输出时间;
  • 第2 个参数,日期,上一个参数的格式返回这个日期,如:${__timeShift(yyyy-MM-dd,20200915,,,)} 如果未填,则为当前日期;
  • 第 3 个参数,时间位移,以可选的正号‘+’ 和负号‘-’开头,负号‘-’开头,表示整个时间相减;再以大小写 p 为前缀,后面跟具体位移数和单位,单位'D'为天,'H'为小时,'M'为分钟, 'S'为秒,而'T'必须在任意一个 H\M\S 出现之前,数字可以是正数或负数;天\时\分,前的数字为整数,秒,可以是小数。如在当前日期上增加 2 天 4 小数 6 分 10.234 秒:${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,p2dt4h6m10.234s,,)} 详见
  • 第 4 个参数,区域语言设置
  • 第 5 个参数,定义存储结果的变量名

时间戳转为本地时间__dateTimeConvert()

这个函数,相信很多同学都没有用过,也极少看到有介绍这个函数的相关文章,但是,这个函数的作用却非常大。他的作用就是将时间戳转换为本地时间

常用于对接口响应结果中的时间戳进行转换。

这个函数,有四个参数

探索Jmeter“宝藏库”:如何把时间戳转为本地时间

 

  • 第 1 个参数,被转换的时间,为空时,表示当前时间戳,精确到毫秒
  • 第 2 个参数,被转换时间的时间格式,上面时间的格式
  • 第 3 个参数,转换后的时间格式
    • 例1:${__dateTimeConvert(09102020011034,MMddyyyyHHmmss,yyyyMMddHHmmss,)} 原始时间格式为:月日年时分秒,转换后为:年月日时分秒
    • 例 2:${__dateTimeConvert(1599723255000,,yyyyMMdd HHmmss,)} 一个精确到毫秒的时间戳,转换为:年月日 时分秒 格式时间
  • 第 4 个参数,定义存储结果的变量名称

随机时间__RandomDate()

看到这个,相信你就知道,肯定是随机数,是的,但是它是随机日期函数。可以在一个随机日期之间,随机选一个日期返回。注意,这个函数操作的是 日期

这个函数,有五个参数

探索Jmeter“宝藏库”:如何把时间戳转为本地时间

 

  • 第 1 个参数,日期格式,默认为 年-月-日
  • 第 2 个参数,起始日期,随机日期区间起始值,包含起始值,空时,默认为当前日期
  • 第 3 个参数,结束日期,随机日期区间结束值,不包含结束值
    • 例:${__RandomDate(yyyyMMdd,20200718,20200918,,)} 从一个日期格式为 yyyyMMdd 日期区间随机区一个日期
  • 第 4 个参数,区域语言设置
  • 第 5 个参数,定义存储的变量名称

好了, 看完了这篇文章,你是否已经掌握用函数生成时间戳作为输入参数,也掌握了,从接口返回时间戳,把时间戳转换为比较方便查看的本地时间。

推荐一个软件测试学习交流群:785128166,群里有分享的视频,面试指导,测试资料,还有思维导图、群里有视频,都是干货的,你可以下载来看。主要分享测试基础、接口测试、性能测试、自动化测试、TestOps架构、Jmeter、LoadRunner、Fiddler、MySql、Linux、简历优化、面试技巧以及大型测试项目实战视频资料。合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

公众号:程序员二黑, 关注后免费领取海量学习资料。

好东西要和朋友一起分享哦
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值