pytest 测试上传图片、文件

pytest 测试上传图片、文件

1、导入requests_toolbelt 包

2、根据抓接口进行参数赋值

3、校验返回值

from requests_toolbelt import MultipartEncoder
m= MultipartEncoder(
                fields=[('bussCode','bookCatalog'),
                        ('file',('zxz.png',open(r'C:\Users\admin\PycharmProjects\api_Project_Pytest\case\ziyuanguanli\0_pic.png','rb'),'image/png'))
                        ]
)
res =ss.post(url,data=m,headers={'Content-Type':m.content_type})

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、linux 1,linux常用命令 2,某个时间段日志的查询 3,linux文件的上传和下载 二、功能测试 1,工作中所遇到的错误 2,测试流程: 3,测试计划元素: 4,测试报告元素: 5,测试点: 6,测试方法: 7,bug相关问题 8,adb常用命令 9,软件测试原则 10,测试用例编写的要素 11,测试用例的设计原则 12,软件产品质量特性 13,android四大组件 14,web测试和app测试的区别 15,app的anr的根本原因 16,app的crash的原因 17,h5页面图片未加载出来问题排查 18,区分原生和h5页面 19,为什么不能用jenkins打包 三、性能测试 1,了解jmeter 2,性能指标 3,如何做性能测试 四、接口测试 1,如何设计接口测试用例 2,为什么要做接口测试 3,接口测试的关注点 4,request处理cookie的三种方式 五、自动化测试 1,自动化核心框架 2,自动化测试的好处 3,自动化的前提 4,自动化测试的场景 5,元素定位的8种方式 6,如果一个元素无法定位,一般会考虑哪些原因 7,driver.close()和driver.quit()的区别 8,自动化脚本断言 9,判断页面元素是否存在 10,js在web自动化中的作用展示 11,自动化代码优化 12,selenium对比RF 13,自动化测试脚本三种等待 14,PO模式 六、HTTP协议 1,HTTP协议特点: 2,HTTP传输原理 3,get和post的区别 4,HTTP响应代码 5,osi七层模型 6,三次握手过程 7,session和cookie的区别 8,tcp和udp的区别 9,sockect通信原理 10,post的三种请求方式 七、数据库 1,sql分类 2,数据库事务特性:ACID 3,mysql索引的类型 4,池化思想 5,redis 6,如何提高数据库运行效率 八、java 1,面向对象的三个特征 2,重写和重载 3,比较sping,sping mvc 4,进程和线程的区别 5,java三层架构 6,处理异常 九、python 1,字符串反转的7种方法 2,new 和 _init_ 3,不使用中间变量交换两个变量的值 4,python四大内置高阶函数 5,python带颜色输出 6,python *args,**kargs用法 7,python常用模块 8,python多线程 9,python发送邮件 10,python操作图像 11,python的replace()方法的使用
pytest是一个Python的单元测试框架,可以用于编写和执行测试用例。通过使用pytest提供的接口,我们可以方便地进行接口上传文件测试。 首先,需要安装pytest库: ``` pip install pytest ``` 接下来,我们可以编写测试用例来测试上传文件的接口。假设我们要测试一个上传文件的接口,可以按照以下步骤进行: 1. 创建一个测试文件,例如test_upload_file.py,并导入pytest相关的模块: ```python import pytest import requests ``` 2. 定义一个测试上传文件的函数,并使用pytest的装饰器@pytest.mark.parametrize来定义多个测试用例: ```python @pytest.mark.parametrize("file_path", ["file1.txt", "file2.txt"]) def test_upload_file(file_path): url = "http://example.com/upload" # 替换成实际的上传接口URL files = {"file": open(file_path, "rb")} response = requests.post(url, files=files) assert response.status_code == 200 # 检查接口返回状态码是否为200 assert response.json()["success"] == True # 检查接口返回的JSON中的success字段是否为True # 其他断言或验证逻辑 ``` 在这个示例中,使用了@pytest.mark.parametrize装饰器来定义了两个测试用例。每个测试用例中,会使用不同的文件路径来上传文件,并进行断言检查接口的返回。 3. 执行测试用例,可以使用命令行运行pytest,也可以直接运行测试文件: ``` pytest test_upload_file.py ``` 执行测试用例后,pytest将自动发现并运行这些测试用例,输出测试结果和日志信息。 综上所述,通过使用pytest的接口和装饰器,我们可以方便地编写和执行接口上传文件测试用例,并对接口的返回进行断言和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值