未在FileToString函数中解析Jmeter变量filepath

未在FileToString函数中解析Jmeter变量filepath,jmeter,Jmeter,我正在使用: ${__eval( ${__FileToString(${filePath}\x.xml)})} 从文件中获取XML字符串。变量filePath未解析,我总是收到错误“filenotfoundexception”。如果给出了绝对路径,它就会工作。在调用FileToString函数之前,似乎没有解析变量。有没有使用相对路径的方法?JMeter使用类来确定其基本目录 如果查看JMeter日志,您将能够看到如下内容: 2014/07/14 15:32:12 INFO - jmeter

我正在使用:

${__eval( ${__FileToString(${filePath}\x.xml)})}
从文件中获取XML字符串。变量
filePath
未解析,我总是收到错误“filenotfoundexception”。如果给出了绝对路径,它就会工作。在调用
FileToString
函数之前,似乎没有解析变量。有没有使用相对路径的方法?

JMeter使用类来确定其基本目录

如果查看JMeter日志,您将能够看到如下内容:

2014/07/14 15:32:12 INFO  - jmeter.services.FileServer: Default base='/opt/jmeter/bin' 
在我的例子中,它是
/opt/jmeter/bin

因此,如果我将
x.xml
文件放到
/opt/jmeter/bin
文件夹中,它将通过
${{uu FileToString(x.xml,,)}
函数进行解析

有一个属性可以控制相对路径解析的基本目录:

# Prefix used to identify filenames that are relative to the current base
#jmeter.save.saveservice.base_prefix=~/
您可以将它设置为任何其他文件夹,JMeter将使用它作为路径解析的基础

可以在以下位置更改属性:

  • jmeter.properties文件
  • user.properties文件
  • 通过
    -J
    命令行参数重写为

    jmeter -Jjmeter.save.saveservice.base_prefix=c:/xml_payload/
    
jmeter.properties和user.properties文件位于jmeter安装的/bin文件夹下,FileServer base通常是同一个文件夹


有关使用属性进行JMeter调优的更多详细信息,请参阅

尽管我可以从日志中看到jmeter.services.FileServer的新路径,但我仍然得到jmeter.functions.FileToString:无法读取文件::(