我需要将一个Thread Group中的值传递给另一个Thread Group,特别是我必须将BeanShell sampler中的值传递给Counter。这是我的BeanShell代码:
Counter.Calendar c =
Calendar.getInstance();
long now = c.getTimeInMillis();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long passed = (now - c.getTimeInMillis())/1000;
vars.putObject("startTime",passed);
${__setProperty("start",vars.getObject("startTime"))};
我必须使用传递值作为Start值。我设置$ {__ P(" start")}或$ {__ property(" start&# 34;)}但两者都没有奏效。 我试图将此方法也用于另一个线程组的BeanShell Sample,但是我遇到了错误。在同一个Beanshell中,它可以工作并设置变量。 如何使用属性或其他方式传递此值? 感谢
PS:如果我$ {__ setProperty(" start",123)};它工作(其他线程接收123),否则它没有看到变量。此外,如果我把beanshell sapler放在同一个线程中有问题:假设Counter在采样器之前处理,则计数器值不会更新。
答案 0 :(得分:0)
属性只能是字符串。尝试这样的事情:
props.put("start", Long.toString(passed));
在接收方,你必须转换回长。
要共享非字符串的数据,可以使用BeanShell共享命名空间bsh.shared
。
见http://jmeter.apache.org/usermanual/best-practices.html