【问题标题】:Jmeter - declare array variable in one JSR223 Sampler in order to access it in another JSR223 SamplerJmeter - 在一个 JSR223 Sampler 中声明数组变量,以便在另一个 JSR223 Sampler 中访问它
【发布时间】:2020-12-17 14:53:00
【问题描述】:

所以我在 Jmeter 线程组中有 2 个 JSR223 采样器。
在第一个中,我声明了一个空数组列表

import java.util.List;
import java.util.ArrayList;

myList = new ArrayList();

在 ForEach 控制器内部的第二个 JSR223 采样器中,我试图访问 myList 变量以添加一些值

import java.util.List;
import java.util.ArrayList;

myList.add(vars.get('trace_id'));

我不断收到消息

Response message: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: myList for class: Script468

我正在阅读this(虽然不是官方的 Jmeter 文档),它说 默认情况下,创建任何新变量都是线程本地的。测试计划中同一线程组/其他线程组中的其他线程无法访问它。所以我认为我做的一切都是正确的。

是否可以在另一个 JSR223 采样器中访问在一个 groovy 采样器 (JSR223) 中声明的变量,或者我试图在这里实现不可行的场景?

【问题讨论】:

  • 对答案有任何反馈吗?如果可以,您应该接受并投票。谢谢

标签: groovy jmeter


【解决方案1】:

为此,在第一个 JSR223 Sampler 中添加:

vars.putObject("myList", myList);

第二个:

def myList = vars.getObject("myList");

参见 javadocs:

【讨论】:

  • 可能的最佳答案。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 2021-12-21
相关资源
最近更新 更多