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 字段来判断是不是需要上传文件)
网易云完整视频课程https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338
报名咨询wx:283340479 (已报名的同学学习过程中有问题,都可以协助解决)

posted @   上海-悠悠  阅读(692)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-12-17 关于面试总结7-linux篇
2016-12-17 Selenium2+python自动化27-查看selenium API
2016-12-17 Appium+python自动化8-Appium Python API
点击右上角即可分享
微信分享提示