如何在JMeter中的两个JSR223(groovy)采样器之间传递非字符串值?

时间:2015-01-16 09:33:09

标签: jmeter

在JMeter中,我需要将一个JSR223采样器(groovy)中的值传递给同一个Thread组中的另一个。现在我使用一个用户参数(vars.put(...), vars.get(...)),但它的缺点是需要额外的字符串转换才能传递非字符串数据。有没有办法在JMeter中的两个常规采样器之间传递一个对象(例如整数或日期)?

1 个答案:

答案 0 :(得分:3)

根据How to use BeanShell: JMeter's favorite built-in component指南:

  

VARS

     

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) - 在这种情况下,您将能够访问来自不同线程组的值。