JMeter脚本---关于时间戳的处理笔记
由于工作的需要,进行了一系列的API测试工作,根据自己的所得进行了一些整理。本人代码知识很渣,所以很多时候都是求助于同事和网上资料。
由于自身的基础不足,用过JMeter的人应该都了解,JMeter是基于Java开发出来一个软件,所以其使用的脚本就是Java代码写的。通过自己不断的尝试,最后终于获得自己想要的东西。脚本如下:
1 //Date date = new Date();//now=date.getTime(); 2 //vars.put("appointmentTime",now.toString()); 3 //now_date=date.getTime();
4 var now_date = new Date().getTime(); //获取当前时间戳 5 vars.put("now_date",now_date.toString()); //赋值给对应的变量,方便调取 6 var new_date = new Date().getTime() + 40 * 60 * 1000; //当前时间戳 + 40分钟 7 vars.put("new_date",new_date.toString()); //赋值新的变量,方便调取
8 //new_date = now_date.setTime(date.getTime()+10*60*1000); 9 //Date date =${__time(/1000,)}; 10 //now_date = Integer.parseInt([String],[int now_date]); 11 //now = Integer.parseInt(now_date); 12 //var new_date = now_date + (40 * 60 *1000);
看起来很多的样子,却只有中间的四行代码。
下面详细的分析一下第一句代码(注释部分不用理会)
1 var now_date = new Date().getTime();
代码注释:获取当前时间戳---详细的讲:new Date().getTime() ,就是获取当前系统的时间并将时间转换为时间戳的格式,精确到毫秒(即13位的数字组成)。获取当前系统时间使用的是:new Date() ,关于时间戳,网上有很多在线时间戳转换的工具,感兴趣的人可以去搜索一下就知道了。
以上代码的意思,应该就不作详细说明了。算了,还是简单说明一下比较好,防止忘记了。代码意思:将获取的时间戳数值赋值给 now_date这个变量。
第二句代码:
1 vars.put("now_date",now_date.toString());
由于脚本使用是在JMeter上,所以第一段代码进行了赋值后的变量,需要拿来进行使用,所以加上这一句代码。
代码的意思:
now_date.toString() :将获取的参数转换为String(字符串格式)
vars.put("now_date",now_date.toString()):将now_date.toString()的值赋给了"now_date" ,应该很好理解了。
由于vars.put("now_date",now_date.toString()) :通过vars.put 将now_date提取出来,有人说是设置为JMeter的全局变量。
第三行代码:
1 var new_date = new Date().getTime() + 40 * 60 * 1000;
40 * 60 * 1000:将40分钟转换为毫秒的计算
new Date().getTime() :获取当前系统时间戳(毫秒级)
最后进行赋值,获得的值 = 当前时间 + 40分钟(为了脚本服务,所以很粗糙)
第四行代码 与第二行代码意思相同。
再来看一下对应的JMeter脚本: