JMeter 内置日期(时间)函数总结

简介: JMeter 内置日期(时间)函数总结

JMeter 内置日期(时间)函数总结

 

by:授客 QQ:1033553122

1. 测试环境

apache-jmeter-3.3

下载地址:

http://jmeter.apache.org/changes_history.html

 

win7

 

 

2. __time函数

__time函数以各种格式返回当前时间

${__time(Format, variableName)}

 

说明:

Format  传递给 SimpleDateFormat的格式。参数可选,如果不提供该参数,则默认返回1970-01-01 00:00:00到当前时间的毫秒数。如果Format匹配"/ddd" (这里ddd为小数位数),那么函数将返回前面所述的时间毫秒数/ddd后的值。例如"/1000",返回1970-01-01 00:00:00到当前时间的秒数。否则传递当前时间给SimpleDateFormat

variableName   用于存放time函数返回结果值的变量名称,参数可选

例子:

log.info("${__time()}");

log.info("${__time(,)}");

log.info("${__time(/1000,)}"); # 精确到秒

 

log.info("${__time(, var)}");

log.info("${var}");

 

log.info("${__time(yyyyMMdd, var)}");

log.info("${__time(YMD,)}");

 

log.info("${__time(HHmmss,)}");

log.info("${__time(HMS,)}");

 

log.info("${__time(yyyyMMdd-HHmmss,)}");

log.info("${__time(YMDHMS,)}");

 

log.info("${__time(dd/MM/yyyy,)}");

 

log.info("${__time(yyyy-MM-dd HH:mm:ss,)}");

log.info("${__time(yyyy-MM-dd HH:mm:ss:SSS,)}");

注意:格式区分大小写

结果:

 

 

 

参考链接:http://jmeter.apache.org/usermanual/functions.html#__time

 

3. __timeShift函数

3.3版本开始才内置该函数类似__time函数,不同之处在于它可以返回按指定时间单位和时间数量偏移后的值。

${__timeShift(Format, DateToShift, valueToShift, LocaleToUseForFormat,variableName)}

说明:

Format  同__time()函数,参数可选

DateToShift   日期(时间)值,格式同Format参数匹配,如果不匹配、未提供该参数值,则默认使用当前日期。偏移是基于该日期(时间)的。参数可选

valueToShift  指要偏移的秒数、分钟数、小时数、天数。参数可选

书写语法参考:

https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html#parse-java.lang.CharSequence-

例子:

PT20.345S  被解析为 20.345 秒,意为在DateToShift 的基础上增加20.345秒

PT15M  被解析为 15分钟,意为在DateToShift 的基础上增加15分钟秒

PT10H 被解析为 10小时,意为在DateToShift 的基础上增加10小时

P2D 被解析为 2 天,意为在DateToShift 的基础上增加2天

-P6H3M 被解析为 -6 小时又-3小时,,意为在DateToShift 的基础上增加6小时3分钟

 

LocaleToUseForFormat 表示日期(时间)的语言环境,即用于格式化日期(时间)的语言. 语言代码必须小写。国家代码必须大写。分隔符必须为下划线。比如en_EN。参数可选,如果未提供,则模式使用ApacheJMeter 的locale.

参考资料:

http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html

 

variableName   用于存放time函数返回结果值的变量名称,参数可选

 

例子:

 

 

log.info("${__timeShift(,,,,)}");

log.info("${__timeShift(yyyy-MM-dd HH:mm:ss,,,,)}");  // 使用默认日期时间

log.info("${__timeShift(yyyy-MM-dd HH:mm:ss,2018/11/30 23:59:59,,)}"); // 使用默认日期时间

log.info("${__timeShift(yyyy-MM-dd HH:mm:ss,2018-11-30 23:59:59,,)}");

 

log.info("${__timeShift(dd/MM/yyyy,21/01/2018,P2D,,)}"); // 返回 23/01/2018

 

log.info("${__timeShift(dd MMMM yyyy,21 février 2018,P2D,fr_FR,)}");  // 返回 23 février 2018

 

log.info("${__timeShift(yyyyMMdd,,,,var)}"); // 存储返回值到变量var

log.info("${var}");

 

 

运行结果:

 

 

参考链接:

http://jmeter.apache.org/usermanual/functions.html#__timeShift

 

4. __RandomDate

函数返回给定起始日期和结束日期之间的随机日期

${__RandomDate(Format, StartDate, EndDate, LocaleToUseForFormat,variableName)}

)}

 

Format  同__time()函数,默认值为 yyyy-MM-dd

StartDate 起始日期,默认为now

EndDate  结束日期,参数必填

LocaleToUseForFormat  同__timeShift()函数

variableName  同__time()函数

 

注意:StartDateEndDate  格式必须和Format保持一致

 

例子:

 

 

log.info("${__RandomDate(,,2019-01-01,,)}"); // 返回当前日期到2019-01-01直接的日期

 

log.info("${__RandomDate(yyyyMMdd,20181117,20181130,,var)}"); // 存储返回值到变量var

log.info("${var}");

 

log.info("${__RandomDate(dd MM yyyy,,08 07 2050,,)}"); // 自定义格式 // 返回当前日期到2050年7月8号之间的日期

 

运行结果:

 

 

 

参考链接:

http://jmeter.apache.org/usermanual/functions.html#__RandomDate

 

目录
相关文章
|
测试技术
JMeter 随机数生成器详细指南:利用 Random 和 UUID 实现
在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。
|
SQL 分布式计算 DataWorks
调度参数在MaxCompute的使用
本文主要讲解如何测试DataWorks调度参数在MaxCompute上使用
5021 0
调度参数在MaxCompute的使用
|
5月前
|
人工智能 弹性计算 运维
简单快捷部署 | Bolt.diy 一步搞定创意建站
Bolt.diy 是 Bolt.new 的开源版本,提供全栈开发支持与自然语言交互功能,简化开发流程并允许二次开发。通过阿里云 CAP 平台部署,结合百炼大模型服务和 deepseek-v3 实现代码生成,用户可专注于应用创新。部署前需确保主账户资金充足,完成部署后配置 API-Key 即可使用。支持模型选择、代码下载等功能,适用于快速建站与创意开发需求。
126 10
|
12月前
|
Java Linux 测试技术
JMeter的运行
JMeter是一款基于Java的压力测试工具,适用于Windows、Mac及Linux系统。运行JMeter需Java 8及以上版本,建议至少1GB内存。用户可通过双击bin目录下的jmeter.bat/.sh文件或命令行启动。其主界面包括文件、编辑、查找、运行、选项与帮助等菜单,支持测试计划的创建、编辑与执行,并提供详细的帮助文档。正确配置环境变量可简化启动流程。
|
JSON 测试技术 Apache
解决 JMeter 返回内容中文乱码问题的详细指南
在Apache JMeter性能测试中,遇到中文乱码问题会影响测试效果和报告理解。解决方法包括:1) 修改`jmeter.properties`配置文件,将`sampleresult.default.encoding`设为UTF-8;2) 在HTTP请求中指定`Content-Encoding`为UTF-8,确保请求和响应编码一致;3) 使用后置处理器如JSR223处理响应数据编码;4) CSV数据文件保存为UTF-8并在JMeter中配置相应编码;5) 添加HTTP Header Manager设置`Content-Type`。
|
Android开发 开发者
Android经典面试题之SurfaceView和TextureView有什么区别?
分享了`SurfaceView`和`TextureView`在Android中的角色。`SurfaceView`适于视频/游戏,独立窗口低延迟,但变换受限;`TextureView`支持复杂变换,视图层级中渲染,适合动画/视频特效,但性能略低。两者在性能、变换、使用和层级上有差异,开发者需按需选择。
456 1
|
消息中间件 存储 运维
RabbitMQ-消息消费时的可靠性保障
将这些实践融入到消息消费的处理逻辑中,可以很大程度上保障RabbitMQ中消息消费的可靠性,确保消息系统的稳定性和数据的一致性。这些措施的实施,需要在系统的设计和开发阶段充分考虑,以及在后续的维护过程中不断的调整和完善。
196 0
|
测试技术
JMeter 配置元件之计数器Counter
JMeter 配置元件之计数器Counter
589 0
|
JSON 自然语言处理 数据安全/隐私保护
jmeter响应和json断言,json断言提取多个值
jmeter响应和json断言,json断言提取多个值
|
消息中间件 安全 Java
Lock 锁底层实现
Lock 锁底层实现
144 0