在做接口自动化测试中,经常会遇到文件的上传和下载接口
文件上传
一般上传文件使用的都是Content-Type: multipart/form-data;数据类型,可以发送文件,也可以发送相关的消息体数据。
使用 requests 上传文件的基本步骤:
1.构造文件数据,通过 open 函数以二进制方式打开文件
2.构造相关数据
3.发送请求,将文件数据以 files 参数传入,其他消息体数据通过 data或 json 传入
参考官方文档
>>> url = 'http://httpbin.org/post'
>>> files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
>>> r = requests.post(url, files=files)
>>> r.text
{
...
"files": {
"file": ""
},
...
}
我们对它重新封装一下然后测试下上传
import requests
def test_up(url, file):
"""
:param url: 接口url