最近在做接口测试时,遇到multipart/form-data请求,搜了很久都没解决方案,最后看了requests的说明文档,找到了方案:
利用requests实现接口测试自动化,requests的说明文档:
http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
但requests有个缺陷,就是不支持multipart/form-data请求数据,这个文档有详细说明:
所以解决方案是利用第三方库:requests_toolbelt
什么是multipart/form-data:
multipart/form-data的请求体是一个字符串,但是和post的请求体不同,因为它的构造方式不一样,post是name=value,但multipart/form-data是添加了分隔符等内容的构造体,如下:
本人的电脑是mac,以mac为例:
1、在pycharm中Preferences-Project:XXX(目录名)-Project Interpreter,安装第三方库:requests-toolbelt
2.代码如下:
输出:200 ok
注意,传文件格式为:
{"files": ('权限导入模板.xls', open(r'D:A_JFKJSVNPytest_api_test est_fileexcel权限导入模板.xls', 'rb'))}