httprunner 2.x学习10-上传文件(upload关键字使用)
前言
requests 库里面上传文件会用到 requests_toolbelt, 可以很方便的解决 multipart/form-data 类型的文件上传相关接口。
HttpRunner 集成了 requests_toolbelt,从 2.4.1+ 版本开始可以使用内置 upload 关键字来上传文件相关操作。
相关环境:
- httprunner 2.4.1以上版本
- requests_toolbelt
- filetype
使用示例
使用 upload 关键字,上传文件(2.4.1以上版本)
- test: name: upload file request: url: http://httpbin.org/upload method: POST headers: Cookie: session=AAA-BBB-CCC upload: file: "data/file_to_upload" field1: "value1" field2: "value2" validate: - eq: ["status_code", 200]
参考案例:文件上传multipart/form-data
用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data
- Content-Type: multipart/form-data
- body参数是这种格式:
——————————————-22165374713946
Content-Disposition: form-data; name=”localUrl”
yoyoketang.png
——————————————-22165374713946
Content-Disposition: form-data; name=”imgFile”; filename=”yoyoketang.png”
Content-Type: image/png
httprunner2.x 脚本文件上传使用 upload
关键字,文件放 data 目录下
# 上海-悠悠,httprunner QQ交流群:1121184576 - config: name: 上传文件 variables: {} - test: name: files request: upload: imgFile: "data/122.png" headers: Authorization: Bearer 登陆的token User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 method: POST url: http://x.x.x.x/path/files validate: - eq: - status_code - 200 - eq: - headers.Content-Type - application/json;charset=UTF-8