Java JMeter-Groovy脚本变量串联

Java JMeter-Groovy脚本变量串联,java,groovy,jmeter,string-concatenation,Java,Groovy,Jmeter,String Concatenation,是JMeter中首选的脚本 我们建议使用ApacheGroovy或任何支持JSR223可编译接口的语言 JSR233采样器中的以下代码在Java中工作,但在Groovy中不工作 String a= "0"+"1" + "2" +"3"; log.info(a); 我发现for+操作符没有按预期工作 但是解决方案是我想把几个变量连接到一个脚本中 我无法使用使用三个引号的答案“行Id为:${row.Id}…” 目前,我使用Java作为脚本语言,并使用JMeter${variable},尽管它也是

是JMeter中首选的脚本

我们建议使用ApacheGroovy或任何支持JSR223可编译接口的语言

JSR233采样器中的以下代码在Java中工作,但在Groovy中不工作

String a= "0"+"1" +
"2" 
+"3";
log.info(a);
我发现for
+
操作符没有按预期工作

但是解决方案是我想把几个变量连接到一个脚本中

我无法使用使用三个引号的答案
“行Id为:${row.Id}…”

目前,我使用Java作为脚本语言,并使用JMeter${variable},尽管它也是:

在这种情况下,请确保脚本不使用任何使用${varName}的变量,因为缓存将只使用${varName}的第一个值

String text=“…${id}${id2}…”;
在这种情况下,groovy中有什么更好的方法

编辑

尝试使用
为什么不使用:

String text=“为什么不使用:


String text=“如果我有一个到concat的hashmap,就像你的一样,我会尝试:

def vars = ["id": "value", "id2": "value2", "id3": "value3"]

String text = ""
vars.each { k, v ->
    text += "<${k}>${v}</${k}>"
}

println text
def vars=[“id”:“value”,“id2”:“value2”,“id3”:“value3”]
String text=“”
每个变量{k,v->
text+=“${v}”
}
打印文本

如果我有一个到concat的hashmap,就像你的一样,我会尝试:

def vars = ["id": "value", "id2": "value2", "id3": "value3"]

String text = ""
vars.each { k, v ->
    text += "<${k}>${v}</${k}>"
}

println text
def vars=[“id”:“value”,“id2”:“value2”,“id3”:“value3”]
String text=“”
每个变量{k,v->
text+=“${v}”
}
打印文本

Groovy使用新行字符表示语句结束,除非它知道下一行必须扩展当前行。支持下一行开头的许多二进制运算符。“+”和“-”运算符有二进制和一元变量,目前(Groovy版本至少在2.5.x之前)在下一行开头不支持这些运算符。您可以将运算符放置在前一行的末尾(如第一行),或在前一行的末尾使用行连续字符:

String a = "0" + "1" +
"2" \
+ "3"
log.info(a)

Groovy使用新行字符表示语句结束,除非它知道下一行必须扩展当前行。支持下一行开头的许多二进制运算符。“+”和“-”运算符有二进制和一元变量,目前(Groovy版本至少在2.5.x之前)在下一行开头不支持这些运算符。您可以将运算符放置在前一行的末尾(如第一行),或在前一行的末尾使用行连续字符:

String a = "0" + "1" +
"2" \
+ "3"
log.info(a)

+
“3”
之前移动到上一行的末尾,Groovy将正常工作。将
+
“3”
之前移动到上一行的末尾,Groovy将正常工作。问题是参数行很长,如果将新行拆分为
+vars[“id2”]+”
groovy.lang.MissingMethodException:没有方法签名:java.lang.String.positive()
org.codehaus.groovy.control.multipleComplationErrorsException:启动失败:Script8.groovy:2:意外标记:如果拆分到新行,仍然存在键入错误,
问题是参数行很长,如果将新行拆分为
+vars[“id2”]+”
groovy.lang.MissingMethodException:没有方法签名:java.lang.String.positive()
org.codehaus.groovy.control.multiplecompationerrorsException:启动失败:Script8.groovy:2:意外标记:如果拆分到新行,仍有一个输入错误,
感谢您的响应,但我希望与特定(不是全部)连接值和每个值的顺序和前缀不同感谢您的响应,但我希望使用特定(不是全部)值以及每个值的顺序和前缀不同来连接
String a = "0" + "1" +
"2" \
+ "3"
log.info(a)