JMeter 时间函数

Posted scholars-xian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter 时间函数相关的知识,希望对你有一定的参考价值。

__time:以各种格式返回当前时间(JMeter 2.2+)

 ${__time(格式,变量名)}

格式:要传递给 SimpleDateFormat 的格式,如果省略了格式字符串,则该函数返回自纪元以来的当前时间(以毫秒为单位)。如果格式匹配 “/ddd”(其中 ddd 是十进制数字),则该函数返回以毫秒为单位的当前时间除以 ddd 的值。

变量名:要设置的变量名称

${__time(,)}  返回当前时间戳(毫秒级,13位)

${__time(/1000,)}  返回当前时间戳(秒级,10位)

${__time(yyyy-MM-dd,)}  以 yyyy-MM-dd 格式返回当前日期(如:2019-10-23)

${__time(yyyy-MM-dd HH:mm:ss:SSS,time)}  以 yyyy-MM-dd HH:mm:ss:SSS 格式返回当前时间(如:2019-10-23 20:08:528),其他元件中可以用 ${time} 引用

__timeShift:返回各种格式的日期,并添加指定的秒数,分钟数,小时数,天数或月数(JMeter 3.3+)

 ${__time(格式,日期,位移,区域设置,变量名)}

日期:以第一个参数“格式”设置的格式转换指定日期,如果省略,则日期设置为现在。

位移:根据文本表示的持续时间(如PnDTnHnMn.nS)转换成指定的秒数,分钟数,小时数或天数。

区域设置:语言环境的字符串格式。语言代码必须是小写,国家代码必须大写,分隔符必须是下划线(如:en_EN)。如果省略,则默认情况下该函数使用 Apache JMeter 当前语言环境。(参考:https://www.oracle.com/technetwork/java/javase/javase7locales-334809.html

${__timeShift(yyyy-MM-dd HH:mm:ss,,PT20.345S,,)}  以指定格式创建当前日期,再加上20.345S

${__timeShift(yyyy-MM-dd HH:mm:ss,now,P1DT3H4M,,c2)}  以指定格式创建当前日期,再加上1天3小时4分钟

${__timeShift(yyyy-MM-dd,,P-1D,,)}  以指定格式创建当前日期,再减去1天

${__timeShift(yyyy/MM/dd,,P-365D,,)}  以指定格式创建当前日期,再减去365天

${__timeShift(y MMM dd HH:mm:ss,,-P-6H+3M,fr_FR,)}  以法语显示的指定格式创建当前日期,再加上6小时减去3分钟

${__timeShift(yyyy-M-dd,2019-5-21,P365D,,)}  在2019-5-21的基础上加上365天

__RandomDate:在指定日期范围内生成随机日期(JMeter 3.3+)

${__RandomDate(时间格式,开始日期,结束日期,区域设置,变量名)}

开始日期:默认为当前日期

结束日期:必填项

 ${__RandomDate(,,2020-01-01,,)}  今天到2020-01-01之间的一个日期

${__RandomDate(yyyyMMdd,20190101,20201231,,time)}  返回20190101到20201231之间的一个日期,存储到变量time

BeanShell PreProcessor

import java.text.*;
import java.util.Date;
Date currentTime
= new Date(); SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss"); String dateString1 = formatter1.format(currentTime); String dateString2 = formatter2.format(currentTime); String dateString = dateString1+" "+dateString2; vars.put("Date",dateString); log.info("当前时间为:"+dateString);

以上是关于JMeter 时间函数的主要内容,如果未能解决你的问题,请参考以下文章

JMeter接口测试-模块控制器

jmeter的Include Controller控件和Test Fragment控件和Module Controller控件

JMeter:逻辑控制器_模块控制器(Module Controller)

无法将特定步骤保存为测试片段

JMeter组件之Test Fragment

JMeter接口测试-Include控制器