从前面的后处理器中,我有一个数组(即UUIDCollector
,大约有2K UUID),
我把这个数组和vars.putObject("UUID_List", resultStudyUUIDCollector);
数组示例
[
"f439d9bb-487b-4a46-b5aa-1013d8de464a",
"6656dae1-159a-4062-9cbb-5382d5202cd8",
"197650ca-d8fc-451d-9332-50d801b5c426",
"ac7adabd-8040-498b-87ed-9c69d678ad49"....]
我想将这些UUID传递给下一个URL调用,但出现错误
2023-06-11 16:25:52,482 ERROR o.a.j.e.JSR223PostProcessor: Problem in JSR223 script, JSR223 PostProcessor
javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: Script169$_run_closure1.doCall() is applicable for argument types: (String) values: [f439d9bb-487b-4a46-b5aa-1013d8de464a]
Possible solutions: doCall(java.lang.Object, int), findAll(), findAll(), isCase(java.lang.Object), isCase(java.lang.Object)
at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:320) ~[groovy-jsr223-3.0.11.jar:3.0.11]
at org.codehaus.groovy.jsr223.GroovyCompiledScript.eval(GroovyCompiledScript.java:71) ~[groovy-jsr223-3.0.11.jar:3.0.11]
JMeter的配置,
处理UUID的代码,
def UUID_List = vars.getObject("UUID_List");
log.info('Total Number of UUID: ' + UUID_List.size())
UUID_List.each { myListItem, int index ->
vars.put('json_'+ (index + 1), new groovy.json.JsonBuilder(myListItem).toPrettyString())
}
2条答案
按热度按时间7nbnzgx91#
如果你想在ForEach控制器中使用你的“数组”,就像你的屏幕截图一样配置,你需要预先创建相关的JMeter Variables,格式如下:
为了做到这一点,你需要添加下面的行到你创建你的“数组”的地方。
然后您将能够在需要时将ForEach控制器内的连续值称为
${json}
。有关JMeter中Groovy脚本的更多信息:Apache Groovy: What Is Groovy Used For?
gwo2fgha2#
我看不出你的代码有什么问题,但是对你的代码做一些小的修改也是可以的,