jmeter文件上传压测file upload-数据为空-Connection terminated parsing multipart data

本文主要探讨了在使用JMeter进行文件上传压力测试时遇到的问题,包括文件上传失败、数据为空的错误以及解决策略。通过分析HTTP请求,强调了参数名称、MIME类型、Header设置的重要性。特别是,勾选'Use multipart/form-data for POST'并删除Content-Type头信息可以解决文件上传失败的问题。同时,当遇到导入数据为空的错误时,可以选择'HttpClient4'或'Java'作为Implementation。文章提供了详细的步骤和参考链接,帮助读者理解并解决JMeter文件上传测试中的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考https://blog.youkuaiyun.com/u010390063/article/details/78329373

https://www.cnblogs.com/zichuan/p/10120316.html

https://blog.youkuaiyun.com/qq_41117947/article/details/79964346

https://www.jianshu.com/p/338b0e89b0cd

先抓个包,把请求、参数、header、cookie都对应起来,着重注意file upload和header里的content-type(不在header头信息里添加,勾选use multipart/form-data for post即可,但也要根据抓包的结果对比)

1、参数名称要与抓包的name保持一致

2、MIME类型要与以上抓包的类型一致

3、是本地的路径

4、跟随重定向:勾选后,与自动重定向不同的是,会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,并对响应的内容做关联

第一个是自动重定向:勾选后,当发送HTTP请求后得到的响应是302/301时,自动重定向到新的页面

5、Use KeepAlive:勾选后,和目标服务器之间使用Keep-Alive方式进行HTTP通信

6、Browser-compatible headers:勾选后,当使用multipart/form-data时,会只发送Content-Disposition标头(当发送HTTP POST请求时,使用Use multipart/form-data方法发送,可用它做文件上传,这个属性是与方法POST绑定的。这里需要勾选此项。)

7、着重看一下勾选Browser-compatible headers(浏览器兼容模式)的效果:

未勾选时显示 Content-Type 和Content-Transfer-Encoding

勾选时不显示Content-Type 和Content-Transfer-Encoding

其中第二部分显示的Content-Type:application/zip显示的不是头信息里的,显示的是Body体里的MIME-type 

发现在头信息里添加了Content-Type:multipart/form-data; 就会导致上传文件失败,勾选Browser-compatible headers不知道是冲突还是怎么了,感觉忽略不起作用。最后的解决方法就是在头信息里删除该项,勾选Use multipart/form-data for POST即可。

重点:

按以上方式维护HTTP请求,执行脚本,如果报错且提示“导入的数据为空”那么需要把Implementation选择为“HttpClient4”或者“Java”。选择哪一个需要用Badboy录制一下后导出成.jmx文件,再用jmeter打开查看。

 

Implementation中:

Java:使用的http是使用的JAVA JVM提供的方法,有相关的限制:1)连接如何重用在请求中没有控制;2)当jmeter释放了一个请求后,在同样的进程中可能不会再使用了;3)只使用于单进程模式;4)HTTPS代理请求有两个bug没存在;5)不支持虚拟主机;6)不支持相关的方法;7)不支持存储证书的请求。

HttpClient4:使用Apache HttpClient 4.1部件。

空白:使用HTTP默认请求中的配置或jmeter.properties中jmeter.httpsample中的配置

 

 

 

 

 

实例:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值