文章目录
一. __time函数介绍
在实际的接口用例测试中,有些接口是需要输入当前时间的,而且格式各异,那么有没有方法可以直接获取时间呢?有的,Jmeter提供了time函数来达成这一点,如下,打开函数助手,找到__time这个函数,可以看到该函数有两个参数,即格式和参数名称,两者都不是必填项,
格式:非必填项,格式如果不填那么就是默认获取当前时间的毫秒数(此项也常被用于接口参数中那些不允许重复的字段);
参数名称:非必填项,如果填了,则生成的时间会被放到该参数中,可以在任意地方调用这个参数,常用于多接口中某个值使用同一个时间参数的情况
说明图如下所示,在第二个红框汇中的值部分输入后(也可以不输入),点击生成按钮即可生成函数字符串
二 __time 函数获取时间
1.获取当前时间的 时间戳 精确到毫秒 :1650453807240
${__time(,)} //获取当前时间戳 默认13位数
${__time(10000,)} // 获取当前时间戳 取前八位 需要在往前取 加多个0
2.获取当前时间的 年-月-日 时-分-秒
${__time(yyyy-MM-dd HH:mm:ss)} //获取当前时间,年月日时分秒格式
${__time(yyyy-MM-dd HH:mm:ss,times)} // times代表后面进行再次调用的参数名称
${__time(yyyy-MM-dd,times)} //获取当前时间,年月日
${__time(yyyy-MM,times)} //获取当前时间,年月
${__time(yyyy,times)} //获取当前时间,年
${__time(MM,times)} //获取当前时间,月
${__time(dd,times)} //获取当前时间,日
3.使用__time函数获取指定时间
${__time(yyyy,nowYear)} //获取当前本年
${__time(M,nowMonth)} //获取当前本月
${__time(d,nowDate)} //获取当前本日
${__time(H,nowHour)} //获取当前小时
${__time(m,nowMinute)} //获取当前分钟
${__time(s,nowSecond)} //获取当前秒
4.使用 __time 获取之前的时间段
${__intSum(${__time(YYYY,nowYear)},-1,lastYear)} //获取去年
${__intSum(${__time(M,nowMonth)},-1,lastMonth)} //获取上个月
${__intSum(${__time(d,nowDate)},-1,lastDate)} //获取上一日
${__intSum(${__time(H,nowHour)},-1,lastHour)} //获取上一小时
${__intSum(${__time(m,nowMinute)},-1,lastMinute)} //获取上一分钟
${__intSum(${__time(s,nowSecond)},-1,lastSecond)} //获取上一秒
使用 __time 获取指定时间段
${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-1,lastDate)} ~ ${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-1,lastDate)}
// 获取当前时间段到当前时间段
${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-1,lastDate)} ${__time(00:00:00,)} ~ ${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-1,lastDate)} ${__time(23:59:59,)}
// 获取当天时间零点 到当天23点
${__time(yyyy-MM-dd,nowDate)} ~ ${__time(yyyy-MM-dd,nowDate)}
// 获取明天时间
${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-7,lastDate)} ~ ${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-1,lastDate)}
获取昨天的前7天时间 ~ 获取昨天的时间
${__time(YYYY,nowYear)}-${__time(M,nowMonth)}-${__intSum(${__time(d,nowDate)},-6,lastDate)} ~ ${__time(yyyy-MM-dd,nowDate)}
获取明天的时间~ 获取明天的后7天时间
获取周一到周日的时间
${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1<10?"0"+((new Date()).getMonth()+1):((new Date()).getMonth()+1)) +
'-' + (((new Date()).getDate()<10?"0"+(new Date()).getDate():(new Date()).getDate())-((new Date()).getDay()==0?7:(new Date()).getDay())+1),)} // 获取当前周一时间
${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1<10?"0"+((new Date()).getMonth()+1):((new Date()).getMonth()+1)) +
'-' + (((new Date()).getDate()<10?"0"+(new Date()).getDate():(new Date()).getDate())+6-((new Date()).getDay()==0?7:(new Date()).getDay())+1),)} // 获取当前周日时间