前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest + yaml 框架 -17.文件上传功能

pytest + yaml 框架 -17.文件上传功能

作者头像
上海-悠悠
发布2023-01-03 14:24:00
7610
发布2023-01-03 14:24:00
举报
文章被收录于专栏:从零开始学自动化测试

前言

本插件集成了 requests_toolbelt 插件处理Content-Type: multipart/form-data 类型文件上传接口。 pip 安装插件

代码语言:javascript
复制
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 示例

代码语言:javascript
复制
文件上传:
  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 里面也没问题

代码语言:javascript
复制
文件上传:
  name: upload file
  request:
      url: http://127.0.0.1:8000/api/v1/upfile/
      method: POST
      files:
          title: 文件上传
          file: data/abc.jpg

(本插件也是根据你是否在 request 中传了 files 字段来判断是不是需要上传文件)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 文件上传multipart/form-data
  • 在yaml 文件中示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档