【问题标题】:How to pass a non-string value between two JSR223 (groovy) samplers in JMeter?如何在 JMeter 中的两个 JSR223 (groovy) 采样器之间传递非字符串值?
【发布时间】:2015-01-16 09:33:08
【问题描述】:

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

【问题讨论】:

    标签: jmeter


    【解决方案1】:

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

    【讨论】:

    • 确实,我忽略了 get/putObject。优秀的答案,100%有用。我把它打勾作为解决方案。
    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多