最近在做接口測試時,遇到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_JFKJ\SVN\Pytest_api_test\test_file\excel\權限導入模板.xls', 'rb'))}