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中可以看到


你可能感兴趣的:(Jmeter学习记录6--使用BeanShell 前置处理器,获取时间戳)