我们需要将 n Minutes 添加到每个样本的工单开始时间变量 (WOStartTime) 中,有哪些可能的方法?
目前我们在 jp@gc - 参数化控制器中使用 jexl 函数;
${__jexl(${__threadNum()}*8 + ${WOStartTime})}
其中 WOStartTime 是从 CSV 文件中获取的日期时间;
并得到以下异常; 2014/05/20 15:44:11 错误 - jmeter.functions.JexlFunction:评估表达式“1 * 8 + 5/20/2004 15:05”时发生错误 org.apache.commons.jexl.parser.ParseException :在第 1 行第 17 列遇到“15”。期待以下之一:“||” ...“或”...“&&”...“和”...“|” ... "^" ... "&" ... "==" ... "eq" ... "!=" ... "ne" ... "<" ... "lt" ... ">" ... "gt" ... "<=" ... "le" ... ">=" ... "ge" ... "+" ... "-" ... “*” ... “/” ... “div”...“%”...“mod”...“;” ...在 org.apache.commons.jexl.parser.Parser.generateParseException(Parser.java:4176)
我们添加了一个 BeanShell 预处理器来操作日期时间变量;
woStartDate=vars.get("WOStartTime");
StartTime=vars.get("Start");
EndTime=vars.get("End");
Date NewStartTime ;
if (StartTime == null){
StartTime =woStartDate;
print("StartTime == null");
}
else {
NewStartTime=StartTime;
NewStartTime.setTime(NewStartTime.getTime()+2);
StartTime=NewStartTime;
}
print(StartTime);
vars.put("Start", StartTime);
EndTime=StartTime;
EndTime.setTime(NewStartTime.getTime()+5);
vars.put("End", EndTime);
StartTime 始终为 NULL,但在第二个示例的vars.put("Start", StartTime)之后,这不应该为 NULL,需要帮助来解决问题;