Jmeter 获取系统时间,和对系统时间进行增减时间
今天做了一个测试,比如发送短信验证码之后的,
验证90s被验证码有效的问题
那如何测试开发的代码,判断了90s内有效呢
1. 验证码获取时间距离现在89秒,验证通过
2. 验证码获取时间距离现在90秒,验证通过
3. 验证码获取时间距离现在91秒,验证不通过
接口的调用,当前时间,在接口测试工具中可以简单获取,各种格式的也都可以
以long类型为例
${__time(,)}
${__timeShift(,,,,)}
${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2019-04-24 16:13:41:635
${__time(,)}:默认该公式精确到毫秒级别, 13位数 1556093845216
${__time(/1000,)}:该公式精确到秒级别, 10位数 1556093845
${__time(yyyy-MM-dd,)} 2019-04-24
${__time(YMDHMS,)} 20190424-161923
系统的当前时间很容易获取,希望对时间进行处理,比如增减时间要怎么处理
在Java中先计算了一下
Calendar calendar1 = Calendar.getInstance(); System.out.println(calendar1.getTime().getTime()); calendar1.add(Calendar.SECOND, -90); System.out.println(calendar1.getTime().getTime()); Calendar calendar2 = Calendar.getInstance(); calendar2.add(Calendar.DATE, 1); System.out.println(calendar2.getTime().getTime());
又去Jmeter中 调用fuction helper看了一下用法和生成的时间,看出加一天是正确的
用标准时间看一下结果,发现不是太灵光
当前时间${__timeShift(,,,,)}
增加一天${__timeShift(,,P1d,,)}
增加一H ${__timeShift(,,PT1H,,)}
${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,,,)}
${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,P1d,,)}
${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,PT1H,,)}
${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,PT10m,,)}
${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,PT20S,,)}
${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,P1dT1H10m20s,,)}
${__time(YMDHMS,)}
${__time(YYYYMMDHMS,)}