JMeter上载文件,带有来自jmx文件的相对路径

JMeter上载文件,带有来自jmx文件的相对路径,jmeter,Jmeter,我正在JMeter中创建一个HTTP请求采样器,以自动将文件上载到HTTP服务。是否有办法将“随请求发送文件”中的“文件路径”设置为jmx文件位置的相对路径?是。(这在JMeter v2.9中得到确认) 可以在文件名输入字段中使用以下BeanShell表达式: ${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(Fil

我正在JMeter中创建一个HTTP请求采样器,以自动将文件上载到HTTP服务。是否有办法将“随请求发送文件”中的“文件路径”设置为jmx文件位置的相对路径?

是。(这在JMeter v2.9中得到确认)

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

${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}<YOUR FILENAME HERE>
为了让它更简洁,添加一个“用户定义变量”配置元素,在这里您可以将表达式的基指定给变量,例如

SCRIPT\u PATH=${\u BeanShell(…etc

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


${SCRIPT\u PATH}upload.jpg

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

祝你好运。

我在这里找到了答案,答案是

  • 步骤1:创建一个用户定义的变量Config元素 项目
  • 步骤2:添加新变量CONFIG_PATH
  • 步骤3:在值中 列放置此代码:${uuuu BeanShell(导入 org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}
  • 步骤4:使用变量 在任何需要的地方命名,如${CONFIG\u PATH}\CONFIG.xml

将filename.csv放在与jmx相同的文件夹中,并将~/filename.csv与JMeter 2.11和更新的JAVA放在一起,

这对我来说不起作用。但是,我想知道是否有更好的方法来建立这种关联,而不是使用用户定义的变量元素,因为我可能希望在多个不同的测试用例中使用它。当然有一定要告诉jmeter始终使用相对路径吗?这实际上与相同,尽管我必须承认你的路径更简单。
${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}upload.jpg