无法通过Jmeter中的HTTP请求上传文件

时间:2017-06-13 11:41:49

标签: jmeter

以下是HTTP POST请求中的设置。我已经尝试将客户端实现更改为所有可能的选项 - Java,空白,HTTPClient4。但是,没有运气

POST
http://192.168.7.101/R3.Web/File/SaveFileentityID=Contact&entityIId=0&companyId=PRGDATA

POST data:
--79pPqMQy27etoiZ9KD_ZvALl72vJyd
Content-Disposition: form-data; name="excelupload"; filename="R3 Product Backlog_V2.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

<actual file content, not shown here>
--79pPqMQy27etoiZ9KD_ZvALl72vJyd--


[no cookies]

Request Headers:
Connection: keep-alive
Origin: http://192.168.7.101
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Content-Type: multipart/form-data
Accept: */*
Referer: http://192.168.7.101/R3.Web/Account/AccountAccessWizard
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Connection: keep-alive
Content-Length: 23562
Host: 192.168.7.101

我收到以下回复

  

isSuccess:假

如果我在浏览器上传递相同的请求,它就可以了。如果,请告诉我 我需要更改设置。

HTTP标头管理器详细信息:

Origin  http://${host}
User-Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Content-Type    multipart/form-data
Accept  */*
Referer http://${host}/R3.Web/Account/AccountAccessWizard
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.8
Host    ${host}
Connection  keep-alive

1 个答案:

答案 0 :(得分:0)

创建文件上传测试场景的最简单方法是使用JMeter HTTP(S) Test Script Recorder

录制它
  1. 将要上传的文件复制到JMeter&#34; bin&#34;夹
  2. 启动HTTP(S)测试脚本记录器
  3. 在浏览器中执行文件上传
  4. 停止HTTP(S)测试脚本记录器
  5. 在脚本中使用生成的HTTP Request采样器。
  6. 如果需要,请参阅Recording File Uploads with JMeter文章以获取更详细的说明。

    如果上传仍然无法完成,首先要检查 jmeter.log 文件和测试日志下的应用程序。

    如果没有任何可疑之处 - 使用像WiresharkFiddler这样的嗅探工具捕获JMeter和真实浏览器发送的请求并进行比较。通过修改JMeter的配置来检测并消除差异,使其与浏览器的配置完全匹配。