【发布时间】:2015-01-16 09:33:08
【问题描述】:
在 JMeter 中,我需要将一个 JSR223 采样器(groovy)中的值传递给同一线程组中的另一个采样器。现在我使用用户参数(vars.put(...), vars.get(...)),但它的缺点是需要额外的字符串转换来传递非字符串数据。有没有办法在 JMeter 中的两个 groovy 采样器之间传递对象(例如整数或日期)?
【问题讨论】:
标签: jmeter
在 JMeter 中,我需要将一个 JSR223 采样器(groovy)中的值传递给同一线程组中的另一个采样器。现在我使用用户参数(vars.put(...), vars.get(...)),但它的缺点是需要额外的字符串转换来传递非字符串数据。有没有办法在 JMeter 中的两个 groovy 采样器之间传递对象(例如整数或日期)?
【问题讨论】:
标签: jmeter
根据How to use BeanShell: JMeter's favorite built-in component 指南:
变量
vars 是最常用的表示 JMeter 变量的组件。它是org.apache.jmeter.threads.JMeterVariables 类的一个实例,提供对当前变量的读/写访问,能够枚举/更改现有变量、创建新变量和获取嵌套属性。
如果您通过上面的链接查看 JMeterVariables 类 JavaDoc,您将能够看到 putObject(String key, Object value) 方法,这似乎是您正在寻找的。
所以在第一个采样器中:
Date now = new Date();
vars.putObject("now", now):
在第二个采样器中:
Date then = vars.getObject("now");
或者,您可以使用props.put(String, Object) 和props.get(String, Object) - 在这种情况下,您将能够访问来自不同线程组的值。
【讨论】: