Jmeter中文件上传接口的处理方法

Jmeter中文件上传接口的处理方法

前言:在使用jmeter做接口测试时,文件上传接口会经常碰到,此类接口的处理方式与一般接口稍有不同,这里主要分享下在jmeter中如何处理文件上传接口

一、文件上传接口请求参数

在拿到文件上传接口后,先看下文件上传接口的请求参数。主要关注下请求头中的Content-Type和请求参数,以下是文件接口的相关请求信息:
在这里插入图片描述
说明:请求头中Content-Type为:multipart/form-data
在这里插入图片描述
说明:请求参数为file: (binary),以二进制文件形式作为传参

二、Jmeter中实现文件上传接口的步骤

1.在jmeter中添加http请求,正确填写接口信息,与一般接口不同的是,在请求参数中要选择Files Upload,如下图:
在这里插入图片描述

2.在Files Upload中设置参数信息,见下图:
在这里插入图片描述
说明:1.MIME类型也可以填写通用类型:multipart/form-data
2.如果还有其他接口请求参数,在Parameters中正常填写即可
3.文件路径这里写死了,可以根据需要设置为变量读取(如:参数化),依次设置不同文件类型来遍历进行测试
以下是常见文件类型的MIME

- {'fileType':'bmp','contentType':'image/bmp'}
- {'fileType':'jpeg','contentType':'image/jpeg'}
- {'fileType':'jpg','contentType':'image/jpeg'}
- {'fileType':'png','contentType':'image/png'}
- {'fileType':'gif','contentType':'image/gif'}
- {'fileType':'doc','contentType':'application/msword'}
- {'fileType':'docx','contentType':'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}
- {'fileType':'xls','contentType':'application/vnd.ms-excel'}
- {'fileType':'xlsx','contentType':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}
- {'fileType':'txt','contentType':'text/plain'}
- {'fileType':'pdf','contentType':'application/pdf'}
- {'fileType':'ppt','contentType':'application/vnd.ms-powerpoint'}
- {'fileType':'pptx','contentType':'application/vnd.openxmlformats-officedocument.presentationml.presentation'}
- {'fileType':'ppa','contentType':'application/vnd.ms-powerpoint'}
- {'fileType':'mp3','contentType':'audio/mpeg'}
- {'fileType':'mp4','contentType':'video/mp4'}
- {'fileType':'html','contentType':'text/html'}
- {'fileType':'zip','contentType':'application/x-zip-compressed'}

3.勾选 Use multipart/form-data,在高级设置中的implementation,选择“java”如果没有对这两项设置,接口请求可能会不成功,之前在这个地方遇到了坑,特别提醒一下!)
见下图:
在这里插入图片描述
在这里插入图片描述
说明:multipart/form-data:指定传输数据为二进制类型,比如图片、mp3、文件,文件上传接口需要勾选此项

4.文件上传接口的步骤已完成,通常需要获取返回结果中的url,可以添加json提取器进行提取,见下图:
在这里插入图片描述
在这里插入图片描述

顺便提一下: 在文件上传接口中的Content-Type中会多一个类似boundary=----WebKitFormBoundaryAZkh3MVFvQKPLBcp,如下图:
在这里插入图片描述
如果在jmeter中请求头设置中,手动加了http请求头: Content-Type=multipart/form-data,可能会导致请求失败的问题。可以看下这边文章:https://juejin.cn/post/7135730061595901965。(注:我使用的jmter版本为5.4.1,即使手动加了Content-Type,发出的请求,也会自动加上boundary~,新版本的jmeter中不会出现此问题)

结束!!!

今天分享到这儿,存在不足的地方还请大家多多指教!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值