${__BeanShell(import org.apache.jmeter.services.FileServer; new File(FileServer.getFileServer().getBaseDir()).getParent();)}
我已将其保存在用户定义的变量中 我需要一条带有
/
或 //
的路径
${__BeanShell(import org.apache.jmeter.services.FileServer; new File(FileServer.getFileServer().getBaseDir()).getParent();)}
这将给出
\
,这在 jmeter 的 Groovy 中不起作用。
我需要一条带有
/
的路径
我试过了
${__BeanShell(import org.apache.jmeter.services.FileServer; new File(FileServer.getFileServer().getBaseDir()).getParent().replaceAll("\\\\", "/");)}
还有
${__BeanShell(import org.apache.jmeter.services.FileServer; new File(FileServer.getFileServer().getBaseDir()).getParent().replace("\\", "/");)}
还有
${__BeanShell(import org.apache.jmeter.services.FileServer; new File(FileServer.getFileServer().getBaseDir()).getParent().replace('\u005C', '/');)}
但这三个都不起作用
如果您在 JSR223 测试元素中以
${myVar}
的形式引用生成的变量,它将被“按原样”解释,并且需要转义的字符的存在将破坏您的代码并且无法编译。您应该使用 vars
速记,例如 vars.get('myVar')
来代替
使用 Beanshell 是某种形式的性能反模式,自从 JMeter 3.1 你应该使用 Groovy 来编写脚本
相同的代码可以直接在Groovy中使用,无需将其放入JMeter变量中
有关 JMeter 中 Groovy 脚本编写的更多信息:Apache Groovy:Groovy 的用途是什么?