2024年最新接口自动化测试——文件上传 下载,2024年最新软件测试性能优化和内存优化面试

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

(1)实现步骤:
  1. 构造文件数据,通过open()函数以二进制方式打开文件

文件上传接口参数与普通post请求一样,需要写成Key和Value模式,Key为参数名称file(也是组件的name属性),Value为一个元组(与普通接口不同的地方)

"file": (
    "caituotuo-file.pdf", # 元组第一个值为文件名称,没有则取None
    open(r"F:\caituotuo-file.pdf", "rb"), # 若第一个值非None,则取文件open打开的二进制流,否则直接写文件路径,如"F:\caituotuo-file.pdf"
    "pdf" # 文件类型
)
"file": (
    None,
    "F:\caituotuo-file.pdf"
)
  1. 构造其他数据
{
    "title": "接口上传的文件",
    "fileType": "pdf"
}
  1. 发送请求,将文件数据以 files 参数传入,其他消息体数据通过 dataheaderscookies 等传入
req = {
            "url": "127.0.0.1/createfile",
            "method": "POST",
            "headers": {},
            "files": {"file": ("caituotuo-file.pdf", open(r"F:\caituotuo-file.pdf", "rb"), "pdf")},
            "data": {
                "title": "接口上传的文件",
                "fileType": "pdf"
            }
        }
(2)完整代码
# -*- coding:utf-8 -*-
# 作者:测试蔡坨坨
# 时间:2022/3/12 21:04
# 功能:上传文件demo

import requests


class Createfile:
    
    def createfile(self):
        req = {
            "url": "127.0.0.1/createfile",
            "method": "POST",
            "headers": {},
            "files": {"file": ("", open(r"F:\caituotuo-file.pdf", "rb"), "pdf")},
            "data": {
                "title": "接口上传的文件",
                "fileType": "pdf"
            }
        }
        res = requests.request(**req)
        assert res.status_code == 200
        res_json = res.json()
        return res_json["result"]["id"]


if __name__ == '__main__':
    Createfile().createfile()
二、文件下载接口
1. 接口文档

Request URL:/download

Request Method:GET

名称类型是否必须描述
idLong文件组id
downloadItemsString[]下载可选项
needCompressForOneFileBoolean是,默认单文件也压缩当下载的文件仅一份时,是否压缩
2. 代码实现
# -*- coding:utf-8 -*-
# 作者:测试蔡坨坨
# 时间:2022/4/5 2:56
# 功能:下载文件demo

import requests


class Download:
    def download(self):
        req = {
            "url": "127.0.0.1/download",
            "method": "GET",
            "headers": {},
            "params": {
                "id": 2947403045981869536,
                "downloadItems": ["NORMAL"],
                "needCompressForOneFile": False
            },
        }
        res = requests.request(**req).content # 注意“.content"获取返回内容
        # with open("F:/response.zip", "wb") as f: # 多份文件返回压缩包


![img](https://img-blog.csdnimg.cn/img_convert/73f743fdf229d08b32b3bbcdb5810243.png)
![img](https://img-blog.csdnimg.cn/img_convert/da345cd84ebaaa3ef6816915216e3c53.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

dn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值