Jmeter-设置公共的Content-Type出现的问题

在接口自动化测试中,通常将Content-Type设为application/json并全局使用。但遇到multipart/form-data格式时,这会导致冲突。文章提出通过BeanShell预处理程序清除全局的Content-Type,允许在具体请求中单独设置,以避免冗余和冲突。

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

前言

我们在做接口自动化测试时,Content-Type往往放在测试计划或者线程组里共用(大多都是application/json),避免了每个请求都需要添加请求头。然而,当遇到multipart/form-data格式(文件图片上传等)时缺无法处理冲突问题。此文章记录通过BeanShell 预处理程序清空Content-Type设置的application/json,

问题描述

1、Content-Type= application/json,设置在了测试计划的公共信息头。在图片上传接口(需要Content-Type=multipart/form-data)时,共用了Content-Type= application/json导致操作结果报错。
必定能解决的方法,把Content-Type= application/json放在每个请求中,但是这样一样一来,每个请求都需要加入“Content-Type= application/json”HTTP信息头管理器,本共用的东西变成冗余
在这里插入图片描述

解决方法

1、BeanShell 预处理程序处理公共的Content-Type,思路为删除公共的Content-Type,放在具体的请求中

import org.apache.jmeter.protocol.http.control.HeaderManager;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 删除请求头指定的信息
sampler.getHeaderManager().removeHeaderNamed(“Content-Type”);
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值