而控制器在jmeter和beanshell预处理器无法正常工作时无法正常工作

时间:2015-12-31 08:52:16

标签: jmeter

我在Jmeter上使用这个脚本: enter image description here

在beanShellProcessor中我得到了这段代码:

import java.lang.*;

int timestampInt=0;
String timestamp="";

timestamp=vars.get("timestamp_start");
//System.out.println(timestamp);
timestampInt = Integer.parseInt(timestamp);
timestampInt+=1;
timestamp_start=Integer.toString(timestampInt);
System.out.println(timestamp_start);

vars.put(timestamp_start,"timestamp_start");

我从命令行(${__P(timestamp_start,1451404741)})获取timestamp_start和timestamp_end。 为了停止while循环我正在使用这个条件:

${__javaScript("${timestamp_start}" <=  "${timestamp_end}")}

但是我看到我的代码没有增加我的时间戳变量它保持不变,你可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您需要将脚本的最后一行更改为

vars.put("timestamp_start",timestamp_start);

根据JavaDoc JMeterVariables.put(String key, String value)),第一个参数应该是JMeter变量名和第二个变量值。

为了查看其他调试信息,您可以添加debug();语句作为Beanshell脚本的第一行。

有关在JMeter测试中使用Beanshell的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component