接口测试之文件上传

在日常工作中,经常有上传文件功能的测试场景,因此,本文介绍两种主流编写上传文件接口测试脚本的方法。

首先,要知道文件上传的一般原理:客户端根据文件路径读取文件内容,将文件内容转换成二进制文件流的格式传输给服务端,而服务端接受客户端传过来的二进制文件流以及文件名称等信息(此时这些二进制文件流存储在内存中),然后将其写入存储空间(即磁盘中),完成上传操作,返回给客户端信息。

ok,知道原理后,开始操作。

本文将根据示例接口,编写文件上传接口脚本(示例接口demo采用python+django编写,后面会讲如何实现),接口信息如下:

python 复制代码
接口信息:127.0.0.1:8001/case/upload_file
请求方式:post
参数名称:myfile
参数类型:file

方法1:postman编写测试脚本

a.将接口信息填入请求中,请求参数类型勾选File

b.点击【select Files】,调用系统文件弹窗选择文件,将文件信息赋值给接口中myfile参数

c.选择文件参数后,点击【send】按钮发送请求。

至此,请求发送完毕,查看postman接收到接口返回上传完成信息,上传文件成功出现在目录中(如下图)。

方法2:使用python+requests编写脚本文件

原理同postman,文件参数要使用File

注意:要传入文件所在路径

python 复制代码
import requests

url = "http://127.0.0.1:8001/case/upload_file"
payload = {}
files = [
    ('myfile', ('测试1.mp4', open('C:\\Users\EEO\Videos\Captures\测试1.mp4', 'rb'), 'application/octet-stream'))
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)

如图所示,文件已成功上传至服务器。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
云边的快乐猫1 小时前
badboy坏男孩批量抓取录制接口(接口可导入到jmeter中使用)
软件测试·jmeter·badboy·接口录制工具·批量录制接口
Wils0nEdwards5 小时前
Leetcode 最大正方形
算法·leetcode·职场和发展
第三方软件测评12 小时前
科技查新测试基础知识分享
软件测试·科技
阿松のblog14 小时前
蓝桥杯JAVA--003
java·职场和发展·蓝桥杯
测试者家园17 小时前
JMeter + Grafana +InfluxDB性能监控 (一)
自动化测试·软件测试·jmeter·性能测试·grafana·性能监控·质量效能
互联网杂货铺19 小时前
单元测试、系统测试和集成测试知识
自动化测试·软件测试·python·测试工具·单元测试·测试用例·集成测试
霍格沃兹测试开发学社测试人社区21 小时前
如何利用 Jenkins 实现高效的邮件告警
运维·软件测试·测试开发·jenkins
人大博士的交易之路21 小时前
1.1 假设一:走势包含一切信息
程序人生·数学建模·分类·数据挖掘·程序员创富
半导体守望者1 天前
AE Pinnacle 10x6 kW DeviceNet MDXL User r Manual
经验分享·笔记·功能测试·自动化·制造
深鱼~1 天前
香橙派Zero3上搭建Code Server开发环境轻量级远程开发新体验
服务器·数据库·面试·职场和发展·智能手机