Java JMeter-Groovy脚本变量串联
是JMeter中首选的脚本 我们建议使用ApacheGroovy或任何支持JSR223可编译接口的语言 JSR233采样器中的以下代码在Java中工作,但在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},尽管它也是
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)