JMeter Groovy路径格式问题:如何将反斜杠转为正斜杠?
JMeter路径反斜杠转正斜杠解决办法
你之前用BeanShell获取的路径带反斜杠,Groovy里没法正常用,试的三种替换写法没生效,主要是转义处理不对或者BeanShell本身的问题,给你两个可行方案:
方案1:修正BeanShell的转义写法
在用户定义变量里用这个写法,注意反斜杠的多层转义:
${__BeanShell(import org.apache.jmeter.services.FileServer; new File(FileServer.getFileServer().getBaseDir()).getParent().replaceAll("\\\\\\\\", "/");)}
原因:Java的replaceAll依赖正则匹配,反斜杠需要写成\\;而JMeter解析变量时,每个\还要再转义一次,所以最终得用四个\\\\才能匹配到路径里的单个反斜杠。
方案2:改用__groovy函数(推荐)
JMeter官方早已不推荐使用BeanShell,Groovy性能更好、语法更直观,直接在用户定义变量里写:
${__groovy(new File(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir()).getParent().replace('\\', '/'),)}
如果想适配Windows和Linux系统的路径分隔符,还可以用File.separator自动替换:
${__groovy(new File(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir()).getParent().replace(File.separator, '/'),)}
这样不管系统原生用的是反斜杠还是正斜杠,最终都会转成你需要的正斜杠格式。
内容的提问来源于stack exchange,提问作者Arvind Pareek
相关产品推荐
相关产品推荐

