Jmeter学习记录6--使用BeanShell 前置处理器,获取时间戳

有时候,我们发送的请求中,是用时间戳作为入参的,比如查询最近一天的数据,或者查询最近一周的数据,这时候,可以使用BeanShell获取时间戳。

添加一个BeanShell 前置处理器,在Script中写入下面脚本:

long nowTime =System.currentTimeMillis();
long todayStartTime =nowTime - ((nowTime + TimeZone.getDefault().getRawOffset()) % (24 * 60 * 60 * 1000L));
vars.put("time",String.valueOf(todayStartTime));

该脚本的意义是获取当天零点的时间戳,然后传递给Jmeter的time变量。

有些时候,入参是日期格式的,但是发送请求的时候,需要用的是时间戳,这时候可以用beanshell来处理一下。

代码如下:

import java.text.*;
import java.util.Date;
String dateStart1 = vars.get("dateStart");
String dateEnd1 =  vars.get("dateEnd");
Date time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStart1);
Date timeEnd1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateEnd1);
String time = String.valueOf(time1.getTime());
String timeEnd = String.valueOf(timeEnd1.getTime());
vars.put("time",time);
vars.put("timeEnd",timeEnd);


在Debug中可以看到


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容