【问题标题】:JMeter upload file with relative path from the jmx fileJMeter上传文件与jmx文件的相对路径
【发布时间】:2013-05-28 06:54:05
【问题描述】:

我正在 JMeter 中创建一个 HTTP 请求采样器,以自动将文件上传到 http 服务。有没有办法将“Send Files With the Request”中的“File Path”设置为jmx文件所在位置的相对路径?

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    是的。 (这在 JMeter v2.9 中得到了证实)

    您可以在文件名输入字段中使用以下 BeanShell 表达式:

    ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}<YOUR FILENAME HERE>
    

    因此,如果您的文件“upload.jpg”与您的 JMX 测试文件位于同一文件夹中,则完整值将是

    ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}upload.jpg
    

    为了让它更简洁,添加一个“用户定义的变量”配置元素,在其中将表达式的基础分配给变量,例如

    SCRIPT_PATH = ${__BeanShell( ...etc

    那么你的文件路径输入值会读起来更易读:

    ${SCRIPT_PATH}upload.jpg

    【讨论】:

    • 这对我有用。但是,我想知道是否有更好的方法来建立这种关联,而不是使用用户定义的变量元素,因为我可能想在多个不同的测试用例中使用它。当然必须有某种方法告诉 jmeter 始终使用相对路径?
    【解决方案2】:

    我在 2.11 版本下,BeanShell 脚本对我不起作用,要使 CSV 文件相对,因此要创建相对路径,您只需使用 ~/filename.csv。这意味着 CSV 文件与 JMX 文件存在于同一目录中。但我想您可以将其修改为此,例如 ~/../results_dir/filename.csv 等。

    祝你好运。

    【讨论】:

      【解决方案3】:

      我在这里http://kisbigger.blogspot.com/2013/09/pointing-to-files-with-relative-paths.html 找到了答案...

      • 第 1 步:为您的 项目。
      • 第二步:添加新变量CONFIG_PATH
      • 第 3 步:在值中 列放置此代码:${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
      • 第四步:使用变量 任何你想要的名字,比如 ${CONFIG_PATH}\config.xml

      在与 jmx 相同的文件夹中具有 filename.csv 并将 ~/filename.csv 与 JMeter 2.11 和较新的 JAVA 一起使用不起作用

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      相关资源
      最近更新 更多