简介shell
在作接口测试的过程当中,咱们会遇到须要处理文件上传和下载的状况,咱们可使用Jmeter来完成文件的上传下载处理,本文提供两个小示例来展现如何使用Jmeter完成文件上传和文件下载并保存的功能服务器
首先来看看普通的Http接口请求的过程:微信
填写服务器环境信息app
填写接口请求方法和接口路径测试
填写参数信息3d
发送请求orm
接受响应blog
文件处理上传接口
文件上传的处理彻底遵循上述流程,只须要在步骤3中去申明请求的类型是multipart/form-data和相应的Content-Type图片
multipart/form-data是Http协议规定的一种表单类型,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既能够上传键值对,也能够上传文件。当上传的字段是文件时,会有Content-Type来代表文件类型
Content-Type: 互联网媒体类型;也叫作MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息,能够是:
image/gif :gif图片格式
application/pdf :pdf格式
application/msword:Word文档格式
application/octet-stream:二进制流
binary:至关于Content-Type:application/octet-stream,从字面意思得知,只能够上传二进制数据,一般用来上传文件
示例:上传图片到baidu实现baidu搜图
在HttpSampler里,正常填写请求参数
切换到File Upload 参数页,填写文件路径和MimeType(Content-Type)便可
运行脚本,查看请求数据,图片被以二进制形式的表单参数传递到服务器
成功返回响应结果
文件下载处理
文件下载的步骤也和普通的Http请求同样,只不过返回的是二进制的文件流,须要额外添加请求后置处理器去保存文件到本地电脑上,此处能够经过添加BeanshellPostProcessor来实现文件的保存和文件内容的解析。Beanshell是一种Java脚本语言,本示例展现如何把文件下载保存到本地:
发起图片下载请求
添加Beanshell Post Processor,使用内置变量prev获取接口响应数据,并经过Java代码把响应的二进制流保存到本地E盘
运行脚本,查看结果和本地文件
若是想解析文件内容可使用Java来读取文件并进行值得校验
做 者:Testfan Kitty
出 处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章连接