pytest + yaml 框架 -17.文件上传功能
Posted 上海-悠悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest + yaml 框架 -17.文件上传功能相关的知识,希望对你有一定的参考价值。
前言
本插件集成了 requests_toolbelt 插件处理Content-Type: multipart/form-data
类型文件上传接口。
pip 安装插件
pip install pytest-yaml-yoyo
文件上传接口功能在 v1.1.3 版本实现
文件上传multipart/form-data
用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data
- Content-Type: multipart/form-data
- body参数是这种格式:
-----------------------------22165374713946
Content-Disposition: form-data; title=“localUrl”
yoyoketang.png
-----------------------------22165374713946
Content-Disposition: form-data; name=“imgFile”; filename=“yoyoketang.png”
Content-Type: image/png
在yaml 文件中示例
在postman 中,可以直接选择一个文件上传,非常方便
我们在yaml中也一样,支持文件类的参数,需单独拿出来放到 files 字段里面。
test_upfile.yml 示例
文件上传:
name: upload file
request:
url: http://127.0.0.1:8000/api/v1/upfile/
method: POST
data:
title: 文件上传
files:
file: data/abc.jpg
文件abc.jpg 需放到项目根目录data下
files 里面需要传的具体字段,需根据接口文档定义的参数名称。
当然你把其它字符串字段一起放到files 里面也没问题
文件上传:
name: upload file
request:
url: http://127.0.0.1:8000/api/v1/upfile/
method: POST
files:
title: 文件上传
file: data/abc.jpg
(本插件也是根据你是否在 request 中传了 files 字段来判断是不是需要上传文件)
以上是关于pytest + yaml 框架 -17.文件上传功能的主要内容,如果未能解决你的问题,请参考以下文章
pytest + yaml 框架 - 3.全局仅登录一次,在用例中自动在请求头部添加Authentication token认证
pytest + yaml 框架 -6.hooks 钩子功能实现
pytest + yaml 框架 -14.钉钉机器人通知测试结果
pytest + yaml 框架 -14.钉钉机器人通知测试结果