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,)}

原文地址:https://www.cnblogs.com/qianjinyan/p/10762664.html