Jmeter 如何把 时间戳 转为 本地时间
一、引入主题(time)
jmeter中,有很多已经封装好的函数,使用这些函数,就能实现某些特定的功能,这对于没有代码基础,或代码基础薄弱的同学来说,是一个非常大的福音。
二、Jmeter把时间戳转为本地时间方式
第1种:就是使用jmeter现有的元件或下载一些插件,使用元件来实现预期功能;
第2种:就是使用jmeter提供的函数,有使用过jmeter的同学,如果细心点,应该会发现,jmeter的函数其实也包括两部分,一部分是自带的函数,
一部分是通过安装插件引入函数,使用这些函数,有时候能实现一些意想不到的效果,采用函数实现,比采用元件实现,更简单,脚本也更简洁;
第3种:使用代码实现,注意,我说的代码实现,并不限于java语言,也不限于BeanShell元件。可以是jmeter二次开发,可以是groovy语言或
jython语言,可以是JSR223元件等。
三、实现方式(step)
1、获取当前时间戳函数__time()
这个函数,相信大家都清楚,大家可能用的最多的就是通过这个函数,可以生成当前时间的时间戳,或者格式化当前时间。
常用于接口参数需要时间时的参数。
这个函数,有两个可填参数。
注意点:
(1)如果都不填,那么获得的是当前时间的时间戳;
(2)如果填第一个参数,就是格式化当前时间,填写对应的时间格式,把当前时间用对应的格式返回;
如果想要格式化时间精确到毫秒:${__time(yyyy-MM-dd HH:mm:ss:SSS,)}
(3)如果填第二个参数,就是把时间结果用一个变量接收
但是,不管怎么用,都只能获取当前时间。
2、时间位移__timeShift()
这个函数,是离获取当前时间的time函数最近的一个函数,也是大家最容易与time函数混淆的函数。是时间位移函数。
常见于脚本中需要做时间偏移计算时用。
这个函数,它有五个可选参数:
注意点:
(1)如果所有的都不填,哪也是获取当前的时间戳;
(2)第1个参数,是格式化时间,如果不填,时间戳精确到毫秒,如果填了,就格式化输出时间;
(3)第2个参数,日期,上一个参数的格式返回这个日期,如:${__timeShift(yyyy-MM-dd,20200915,,,)}
如果未填,则为当前日期;
(4)第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,,)}
详见
(5)第4个参数,区域语言设置
(6)第5个参数,定义存储结果的变量名
3、时间戳转为本地时间__dateTimeConvert()
这个函数,相信很多同学都没有用过,也极少看到有介绍这个函数的相关文章,但是,这个函数的作用却非常大。他的作用就是将时间戳转换为本地时间。
常用于对接口响应结果中的时间戳进行转换。
这个函数,有四个参数
注意:
(1)第1个参数,被转换的时间,为空时,表示当前时间戳,精确到毫秒
(2)第2个参数,被转换时间的时间格式,上面时间的格式
(3)第3个参数,转换后的时间格式,
例:${__dateTimeConvert(09102020011034,MMddyyyyHHmmss,yyyyMMddHHmmss,)}
原始时间格式为:月日年时分秒,转换后为:年月日时分秒
例2:${__dateTimeConvert(1599723255000,,yyyyMMdd HHmmss,)}
一个精确到毫秒的时间戳,转换为:年月日 时分秒 格式时间
(4)第4个参数,定义存储结果的变量名称
4、随机时间__RandomDate()
看到这个,相信你就知道,肯定是随机数,是的,但是它是随机日期函数。可以在一个随机日期之间,随机选一个日期返回。注意,这个函数操作的是 日期。
这个函数,有五个参数
注意点:
(1)第1个参数,日期格式,默认为 年-月-日
(2)第2个参数,起始日期,随机日期区间起始值,包含起始值,空时,默认为当前日期
(3)第3个参数,结束日期,随机日期区间结束值,不包含结束值第4个参数,区域语言设置
例:${__RandomDate(yyyyMMdd,20200718,20200918,,)}
从一个日期格式为yyyyMMdd日期区间随机区一个日期
(4)第5个参数,定义存储的变量名称
本文来自博客园,作者:刑之风,转载请注明原文链接:https://www.cnblogs.com/xingzhifeng/p/16392605.html