一、jmeter文件上传的使用背景

1.1 背景

在我们使用jmeter做接口测试/接口自动化测试的时候总有一些项目涉及到文件上传的接口,这时我们发现平时使用的方法总是达不到我们的要求,故而我们在这里聊一下jmeter是如何实现文件上传的。

二、jmeter文件上传的实现效果

1、通过jmeter文件上传实现对上传接口测试
2、jmeter文件上传的文件在数据库/前端显示正常
在这里插入图片描述
数据库数据
在这里插入图片描述

三、jmeter文件上传实现过程

3.1 文件上传接口讲解

3.1.1 文件上传接口前端显示和接口信息获取

浏览器F12前端获取文件上传接口信息
在这里插入图片描述
然后把URL、入参和Headers写入jmeter
在这里插入图片描述
最后把文件上传的内容写入jmeter:
来源:文件上传接口滑到底,在传参中点击view source 用来查看文件上传的参数
在这里插入图片描述
把获取到的 name值和content-Type记录下来在jmeter接口请求的时候用的到
在这里插入图片描述

3.1.2 接口文档获取上传接口信息

接口文档获取文件上传接口信息(不如从前端获取到的直观)
在这里插入图片描述

3.2 文件上传jmeter讲解

jmeter的文件上传有独特的设置:
url、header、data还是按照我们正常的请求设置就可以
在这里插入图片描述

对于传输的文件我们这里需要使用jmeter HTTP请求的【文件上传】设置
【文件上传】中添加我们需要上传文件的信息,包含:文件参数名称、文件类型、文件路径
文件路径:需要上传文件的路径(这里可以使用绝对路径/相对路径)
文件参数名称:就是我们前端中获取的name/接口文档中的文件上传路径名称file
文件类型:根据上传的文件类型不同这里也是不同的参数值
在这里插入图片描述

3.3 文件上传中涉及到的文件类型

常见类型:
在这里插入图片描述

3.5 jmeter在文件上传中需要注意的点

1、http请求中基本信息上对于post使用multipart/form-data的勾选
平常我们使用这个类型都是把表单数据使用url编码后传送给后端,二进制文件当然没办法一起编码进去了。所以multipart/form-data就诞生了,专门用于有效的传输文件
在这里插入图片描述

2、【高级】设置中的客户端实现方式的选择
Java和HttpClient4.X都可以用发送POST请求,但是HttpClient4.X在发送请求时会自动对特殊字符做转义。使用Java方式,则是调用Java原生的HTTP请求方法发送请求
【根据实际情况选择实现方式】
在这里插入图片描述
3、HTTP请求头中不需要添加content-type为multipart/form-data,否则所有的参数都会被当成文件以二进制形式传输
在这里插入图片描述

四、jmeter文件上传的拓展

4.1 关于上传的文件中文乱码问题

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐