通过jmeter
需要给学生排一节当前时间后一天18点的课程,之后将该课程的时间改为当前时候后2分钟开课,5分钟后结束
使用jmeter,BeanShell Sampler插件(编写脚本)
第一步:编写脚本来获取当前时间后一天的开始时间和当前时候后2分钟的时间,5分钟的时间
脚本如下:
package time.com.cn;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class NowTime {
static SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//开课时间
public static String StartTime(){
Date date = new Date();
//输出格式为:2018-09-23 19:46:59
String starttimes= sdf1.format(getStartTime(date));
//System.out.println("time="+starttimes);
//将String转化为Date格式
Date STime = dateTime(starttimes);
//将该时间段的date类型转换为时间戳
long timestart = STime.getTime();
//将时间戳转化为String
String Onetime = String.valueOf(timestart);
System.out.println(Onetime);
return Onetime;
}
//下课时间
public static String EndTime(){
Date date = new Date();
String endtimes= sdf1.format(getendTime(date));
//System.out.println("time="+endtimes);
Date ETime = dateTime(endtimes);
//System.out.println("time="+ETime);
long timeend = ETime.getTime();
String Secondtime = String.valueOf(timeend);
System.out.println(Secondtime);
return Secondtime;
}
//获取当前时间后2分钟时间
public static Date getStartTime(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, 2);
date = calendar.getTime();
return date;
}
//获取当前时间后5分钟时间
public static Date getendTime(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE,5);
date = calendar.getTime();
return date;
}
public static Date dateTime(String date) {
Date strTime = null;
try {
strTime = sdf1.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
//System.out.println("timethree = " + timethree);
//System.out.println("startTime1 = " + startTime.getTime());
return strTime;
}
public static void main(String[] agrs){
String start = StartTime();
String end = EndTime();
}
}
打开jmeter创建线程组
- 导入打好的jar包,图中是我存放jar的地址(根据自己的习惯存放jar位置)
2,创建线程组和BeanShell Sampler
3,在脚本中我们得到的时间时当前时间后一天的开始时间,即xxxx年xx月xx日 00:00:00
而我们需要的时间时xxxx年xx月xx日 18:00:00作为开始时间,xxxx年xx月xx日 18:40:00作为结束时间,所以在BeanShell Sampler写入代码(如图),使用put()方法提交参数
4,添加http请求
5,填写需要的数据,写入在BeanShell Sampler中定义的开始,结束时间变量
6,添加信息头管理器
7,填写察看结果树并运行
这样就创建了一个当前时候后一天18:00:00开课,18:40:00下课的课程
下一步将这个课程的时间改为当前时间后2分钟开课,5分钟后下课
8,还是添加BeanShell Sampler
9,添加http请求和信息头管理器
应为接口中用到了参数roomid,这个参数就是第7步中响应结果中数据
如何获取这个数据,这里需要用到参数关联,我们使用正则表达式来提取这个参数
如图:
10,再次运行脚本
成功!