JMeter上传文件,其中包含jmx文件的相对路径

Eat*_*oku 28 jmeter

我正在JMeter中创建一个HTTP请求采样器,以自动将文件上传到http服务.有没有办法将"使用请求发送文件"中的"文件路径"设置为从jmx文件位置的相对路径?

Pål*_*ver 46

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

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

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

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

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

为了使它更清洁,添加一个"用户定义的变量"配置元素,您可以将表达式的基础分配给变量,例如

SCRIPT_PATH = ${__BeanShell( ...etc

然后您的文件路径输入值将读取更可读:

${SCRIPT_PATH}upload.jpg


Far*_*rah 6

我在版本2.11下,并且BeanShell脚本对我来说不起作用,使CSV文件相对,因此要使一个简单的相对路径需要使用它~/filename.csv.这意味着CSV文件与JMX文件存在于同一目录中.但我想你可以修改它,例如~/../results_dir/filename.csv等等.

祝好运.


小智 5

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

  • 步骤 1:为您的项目创建一个用户定义变量 Config 元素。
  • 步骤2:添加新变量CONFIG_PATH
  • 步骤 3:在值列中放置此代码: ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
  • 步骤 4:在任意位置使用变量名称,例如 ${CONFIG_PATH}\config.xml

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