在JSF Web应用程序中使用Jmeter上传文件

时间:2019-03-01 23:38:23

标签: java performance testing jsf jmeter

我正在尝试使用JSF制作的Web应用程序中的文件上传。 这是带有火焰计扩展名的记录器的请求

blaze meter request

这是浏览器中的请求

browser request

Webkitform的值是这样的:

web kit form value

我看到了文件名。但是,当我运行脚本时,它不会上传文件。该文件位于脚本所在的文件夹中。

运行脚本后,我在Web上检查了一下,发现与其他脚本请求一起发送的其他表单字段已保存,但文件未保存。

该配置必须有该请求?或者我还需要上传什么文件?谢谢。

更新:

我使用JMeter代理记录,但是执行de request时出现的问题是de boundary不正确,如何生成正确的边界?

recorded with proxy recorded with proxy 2

请求(正确的边界必须像这样------ WebKitFormBoundaryj2OVXs0ClWJHXrKH):

response

更新

我首先解决了使用JMeter代理进行记录并在上传文件的请求中使用HttpClient 4实现的问题。

1 个答案:

答案 0 :(得分:0)

您的文件必须位于JMeter安装的“ bin”文件夹中。尝试将其复制到此处,然后重新运行脚本。如果仍然失败,请检查jmeter.log file中是否有可疑条目

我建议您使用JMeter的HTTP(S) Test Script Recorder重新记录您的文件上传请求。

  1. 将文件复制到JMeter安装的“ bin”文件夹中
  2. 配置浏览器以使用JMeter作为代理
  3. 在浏览器中执行上传请求
  4. 在重放时,请确保文件存在于JMeter的“ bin”文件夹中

有关更多详细信息,请参见Recording File Uploads with JMeter文章。


此外,我建议使用View Results Tree侦听器检查您的请求和响应详细信息,因为您的${jsfViewState2}变量似乎没有得到解决,因此可能甚至没有以{ {3}}以某种方式失败。