我需要从 jmeter 中的字符串中删除尾随 crlf。我使用了以下功能
${__javaScript('${varu_2}'.replace(/[\\r\\n]/g\,""))}
它给了我错误“org.mozilla.javascript.EvaluatorException:未终止的字符串文字(#1)”。
任何帮助,将不胜感激。
我需要从 jmeter 中的字符串中删除尾随 crlf。我使用了以下功能
${__javaScript('${varu_2}'.replace(/[\\r\\n]/g\,""))}
它给了我错误“org.mozilla.javascript.EvaluatorException:未终止的字符串文字(#1)”。
任何帮助,将不胜感激。
包含多行的变量的内联评估 ( ${varu_2} ) 破坏了 javascript 评估。
例如,javascript 将被解释为:
'line1
line2'.replace(/[\\r\\n]/g\,"")
第一行是一个未终止的字符串,就像错误消息告诉我们的那样。
为了避免这种行为,我建议使用 JMeterVariables 对象,但由于 javascript 实现(Rhino)似乎不能很好地支持内联正则表达式,你应该使用 2 替换函数而不是你的正则表达式:
${__javaScript(vars.get('varu_2').replace( "\r"\, "" ).replace("\n"\,""))}
或者,如果您愿意,可以使用beanshell 函数使用任何正则表达式:
${__BeanShell(vars.get("varu_2").replaceAll("[\r\n]"\,""))}