微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

指向文件位置的 JSR223 脚本抛出错误

如何解决指向文件位置的 JSR223 脚本抛出错误

添加了 JSR223 预处理器以指向需要由 http 请求选择的文件。当我循环运行请求时,它每次都需要选择不同的文件,因此文件位置有点复杂。所以,我尝试了以下内容filePath in JSR223

但是,这会引发错误。我应该使用两个反斜杠吗?这也会引发错误

我正在使用以下方法获取项目位置中的文件夹:

${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}\FiletoUpload\

但是,我需要在每个线程上访问不同的文件夹,因此通过 JSR223 脚本获取文件方法很复杂。有没有更简单的方法

解决方法

  1. 首先starting from JMeter 3.1 you're supposed to be using JSR223 Test ElementsGroovy language所以考虑迁移到__groovy() function

  2. 其次,您需要使用三重斜线,因为您需要:

    • 用另一个反斜杠转义 Java 字符串中的每个反斜杠

    • 第三个反斜杠是处理 JMeter 函数转义元字符(例如,如果你的函数包含逗号,你需要用反斜杠来转义它,如 \,

      ${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + '\\\Test Plan.jmx',)}
      

    或者您可以使用正斜杠:

    ${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + '/Test Plan.jmx',)} 
    

    或者去file.separator property

    ${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + System.getProperty('file.separator') + 'Test Plan.jmx',)}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。