Jmeter学习记录6--使用BeanShell 前置处理器,获
2021-04-14 本文已影响0人
测试之心
有时候,我们发送的请求中,是用时间戳作为入参的,比如查询最近一天的数据,或者查询最近一周的数据,这时候,可以使用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中可以看到