一、应用场景
接口测试中,有时候我们需要需要获取当前系统时间,比如当前是2020年12月24日。或者需要获取某个特定时间段的所有日期,比如当前一周内的所有日期,周一是2020年12月21日,周二是2020年12月22日...,周日是2020年12月27日。假如我们的接口测试工具使用的是Jmeter,我们需要Jmeter在调用接口发送请求的时候,能够提取到当前所需要的时间日期。
二、解决方案
1、使用Jmeter内置的两个时间函数来获取和处理时间
1.1 __time函数
__time函数可以返回指定格式的当前系统时间
调用格式:${__time(Format, variableName)}
参数说明:
(1)Format:时间格式。例如写成:y年-M月-d日,则返回:XXXX年-XX月-XX日。
(2)variableName:存放time函数返回结果值的变量名称,可选。例如写成:num。则${num}的值就是当前的系统时间。
1.2 __timeShift函数
和__time函数类似,区别是它可以返回按指定时间单位和时间数量偏移后的日期值。注:本函数在Jmeter3.3版本之后才有。
调用格式:${__timeShift(Format, DateToShift, valueToShift, LocaleToUseForFormat, variableName)}
参数说明:
(1)Format:时间格式。例如写成:y年-M月-d日,则返回:XXXX年-XX月-XX日。
(2)DateToShift 这里填写基于哪一个日期进行计算新的日期。类型为日期(时间)值,格式同Format参数匹配。如果不匹配、未提供该参数值,则默认使用当前日期。偏移是基于该日期(时间)的。参数可选
(3)valueToShift 指要偏移的秒数、分钟数、小时数、天数。参数可选
书写语法参考:https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html#parse-java.lang.CharSequence-
(4)LocaleToUseForFormat 表示日期(时间)的语言环境,即用于格式化日期(时间)的语言. 语言代码必须小写。国家代码必须大写。分隔符必须为下划线。比如en_EN。参数可选,如果未提供,则模式使用ApacheJMeter 的locale.
书写语法参考: http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html
(5)variableName 用于存放time函数返回结果值的变量名称,参数可选
>>本文地址:https://www.ujiuye.com/zhuanye/2021/68775.html
声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。
1 您的年龄
2 您的学历
3 您更想做哪个方向的工作?