我需要从 jmeter 中的字符串中删除尾随的 crlf。我使用了以下功能
${__javaScript('${varu_2}'.replace(/[\\r\\n]/g\,""))}
It gives me error "org.mozilla.javascript.EvaluatorException: unterminated string literal (#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 function您可以使用任何正则表达式:
${__BeanShell(vars.get("varu_2").replaceAll("[\r\n]"\,""))}
关于javascript - jmeter代码从提取的Url中删除crlf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19240459/