我在jmeter中有一个场景如下:
Jmeter脚本包含航班预订作为第一个用户书籍票。如果第一次用户在 2017年1月1日上预订,则第二用户必须在 2017年1月2日上预订并且下一个用户遵循相同的模式。
我的查询是如何使用jmeter实现上述场景。
答案 0 :(得分:0)
在您的主题组从0开始和增加1 参考名称计数器
下添加一个计数器然后在请求下添加一个beanshell预处理器并添加以下代码:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
int Counter = Integer.parseInt(vars.get("Counter"));
SimpleDateFormat sdf = new SimpleDateFormat("d-MMMM-yyyy");
if(Counter == 0){
Date date1 = sdf.parse(vars.get("DepDATE1"));// DepDATE1 = Jmeter variable that holds the first departure date
Date date2 = sdf.parse(vars.get("ArrDATE1"));// ArrDATE1 = Jmeter variable that holds the first arrival date
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
cal.add(Calendar.DAY_OF_YEAR,1);
date1 = cal.getTime();
props.put(("NextDep"), sdf.format(date1));
cal.setTime(date2);
cal.add(Calendar.DAY_OF_YEAR,1);
date2 = cal.getTime();
props.put(("NextArr"), sdf.format(date2));
}
if(Counter > 0){
datex = sdf.parse(props.get("NextDep"));
datey = sdf.parse(props.get("NextArr"));
Calendar cal = Calendar.getInstance();
cal.setTime(datex);
cal.add(Calendar.DAY_OF_YEAR,1);
datex = cal.getTime();
props.put(("NextDep"), sdf.format(datex));
cal.setTime(datey);
cal.add(Calendar.DAY_OF_YEAR,1);
datey = cal.getTime();
props.put(("NextArr"), sdf.format(datey));
}
现在使用$ {__ P(NextDep)}而不是保存出发日期的变量和$ {__ P(NextArr)}而不是保留到达日期的变量。
我认为你可以把它做得更小,但它确实是这个想法。
希望它有所帮助。