Groovy JMeter-jsr 223预处理器中的变量集在while controller中不可用
在Thread组中,我有“JSR223预处理器”,在这里我像这样设置变量-Groovy JMeter-jsr 223预处理器中的变量集在while controller中不可用,groovy,jmeter,jsr223,Groovy,Jmeter,Jsr223,在Thread组中,我有“JSR223预处理器”,在这里我像这样设置变量- List<String> EDPResultList = new ArrayList(); vars.putObject("EDPResultList",EDPResultList); Object resObj = vars.getObject("EDPResultList"); 我得到了一个例外- 错误o.a.j.e.JSR223后处理器:JSR223脚本中存在问题,初始Get的JSR223后处理器
List<String> EDPResultList = new ArrayList();
vars.putObject("EDPResultList",EDPResultList);
Object resObj = vars.getObject("EDPResultList");
我得到了一个例外-
错误o.a.j.e.JSR223后处理器:JSR223脚本中存在问题,初始Get的JSR223后处理器
javax.script.ScriptException:groovy.lang.MissingPropertyException:类:Script238没有这样的属性:EDPResultList
在org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:324)~[groovy-all-2.4.16.jar:2.4.16]”
如何定义一个列表,我可以在我的“线程组”和“While Controller”的多次迭代中使用该列表。要在JMeter中使用ArrayList,请使用以下方法:
import java.util.List;
List<String> list = new ArrayList<>();
list.add("John");
list.add("Peter");
list.add("Parkar");
vars.putObject("List",list);
Groovy代码本身没有问题:
您的
JSR223预处理器
很可能由于某种原因没有被执行,原因可能是因为没有采样器就无法执行预处理器,也可能是因为没有采样器。尝试在预处理器末尾添加log.info('something')
,以确保它已运行 我认为异常是在不同的代码中抛出的,您是否有使用EDPResultList
的其他代码?
ArrayList result = vars.getObject("List");
for (String value : result) {
log.info("Values are : " + value);
}
vars.put("flow", "false");