Jmeter文件上传不成功问题

作者分享了在项目上线后进行客户培训期间,遇到JMeter上传图片失败的问题,通过排查发现Content-Type设置问题。通过使用JSR223前置处理器,清除全局HTTP请求头管理器中的Content-Type,最终实现了接口请求的成功。
摘要由CSDN通过智能技术生成

前言

最近好忙呀,项目上线然后紧接着又客户培训了,由于项目有个模块全是走配置的,所以导致问题不断,近期要培训为了保障培训时客户同时操作的情况,所以把我从功能端抽出来做压测了,之前安排了2个同事写压测脚本,我原以为我就过来执行调调脚本就好了,没想到测试铺底数据要我搞,脚本好多页不能复用,崩溃了。算了,还是说问题吧,吐槽了这么多

Jmeter上传图片不成功

流程中有上传图片的接口,请求一直不成功,我记得之前遇到过这个问题然后解决了,可能太久没用又忘了,所以又去查了下百度,然后说是要把请求头的Content-Type删掉,再请求中勾选对POST使用multipart/fom-data
在这里插入图片描述
请求过后发现仍然不行,抓包看接口发现看起来是boundary两边看着不一致,然后清空了该请求下的http请求头管理器下的Content-Type,发现还是不行
在这里插入图片描述
然后观察请求头跟响应头发现对不上,请求还是用的是Content-Type
在这里插入图片描述

看脚本发现是用了个全局的HTTP请求头管理器
在这里插入图片描述
所以为了避免HTTP信息头管理器影响到上传接口,要不就给每个请求挂上HTTP信息头管理器,要不就要让这个全局的信息头管理器不影响到上传接口,为了方便肯定是选择第二个,这时候我们需要用到前置处理器,再上传接口处新增一个JSR223前置处理器
在这里插入图片描述
输入相关清除Content-Type代码,代码如下:

import org.apache.jmeter.protocol.http.control.HeaderManager;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 删除请求头指定的信息
sampler.getHeaderManager().removeHeaderNamed("Content-Type");

此时请求即可成功,自动会给该请求带上multipart/fom-data方式
在这里插入图片描述
在这里插入图片描述

结语

好想休息呀!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值