接口测试之文件下载

本文介绍了如何在工作中通过接口测试和UI自动化测试来替代常规的下载接口回归测试,重点展示了使用Postman和Pythonrequests编写的自动化下载脚本,包括直接在Postman中发送下载请求和使用Python获取并写入二进制文件的方法。
摘要由CSDN通过智能技术生成

在工作中对于下载接口,经常会有这样的疑问:这类接口一般功能比较稳定,但是又比较重要,需要占用回归测试时间,有没有可替代的方式?

       答案肯定是有的,可以从接口测试/UI自动化测试介入,而本文主要讲述接口测试,提供两种方法。

文件下载接口的一般实现

        A. 一般项目中,文件存储/下载都是公司基础建设提供的能力,大部分实现都是获取到所下载文件的URL,然后浏览器会去执行下载操作(效果同在浏览器中直接输入该下载URL),因此,需要先找到该文件的下载URL,然后在通过脚本/工具进行模拟下载

        B. 下载接口需要自己编写,提供下载能力

        以上两种方式对于下载原理都是一样的,本质上都是获取到下载URL然后由浏览器去执行下载,实际项目中根据自己项目类型找到对应URL即可。

       

  本文中我们采用上述B中的方式(下载接口demo采用python+django编写,接口里写死的下载文件信息,后面会写如何实现),接口信息如下:

URL:http://127.0.0.1:8001/case/down
请求方式:不限

下载接口测试脚本编写

方法1:使用测试必备神器之postman进行下载接口的脚本编写

           1.将URL以及headers等信息填入postman,如下图:

      2. 点击send and download,会调用系统弹窗给下载文件重命名

               点击保存,即可下载成功

方法2:使用python+requests编写接口测试脚本

             文件下载时,是以二进制格式传输的,需要设置sream=True参数

             将二进制内容写入到下载目录所在的文件中

import requests
from contextlib import closing

url = 'http://127.0.0.1:8001/case/down'

with closing(requests.get(url, stream=True)) as response:
    with open("文件名1.py", "wb") as file:
        for data in response.iter_content(128):
            file.write(data)

 如图,文件下载成功。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值