我有一个javaScript变量说:
${__javaScript(Math.round(new Date().getTime() / 1000 -18000 )*1000)}
我的beanshell代码是:
start = vars.get ("startTime-5");
newStart = start + 1000;
startTime-5是javaScript代码的var。
当我打印newStart时,我希望得到start + 1000的计算,但我得到的是添加" 1000"作为一个字符串。 例如,如果start = 14456789000 - 我得到的是144567890001000而不是14456790000
答案 0 :(得分:1)
BeanShell在使用时模拟类型变量和参数。这允许您在适当的情况下使用强类型“种子”代码。您可以在处理它们时“支持”重复使用的方法,将它们移近Java。最终,您可能会发现要编译这些方法并将它们保存在标准Java中。使用BeanShell,这很容易。 BeanShell不会在脚本和Java之间强加语法边界。
从Java开始,想想Beanshell。
类似的东西:
long start = Long.parseLong(vars.get("startTime-5"));
long newStart = start + 1000;
vars.put("newStart", String.valueOf(newStart)); // if you need the JMeter Variable
应该为你做的伎俩。
有关JMeter中的Beanshell脚本以及Beanshell菜谱的更多详细信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。