我想在jmeter中传递我的groovy中的路径

问题描述 投票:0回答:1
${__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', '/');)}

但这三个都不起作用

groovy jmeter beanshell
1个回答
0
投票
  1. 如果您在 JSR223 测试元素中以

    ${myVar}
    的形式引用生成的变量,它将被“按原样”解释,并且需要转义的字符的存在将破坏您的代码并且无法编译。您应该使用
    vars
    速记,例如
    vars.get('myVar')
    来代替

  2. 使用 Beanshell 是某种形式的性能反模式,自从 JMeter 3.1 你应该使用 Groovy 来编写脚本

  3. 相同的代码可以直接在Groovy中使用,无需将其放入JMeter变量中

有关 JMeter 中 Groovy 脚本编写的更多信息:Apache Groovy:Groovy 的用途是什么?

© www.soinside.com 2019 - 2024. All rights reserved.