接口测试之文件下载

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

       答案肯定是有的,可以从接口测试/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,如下图:

接口测试之文件下载_第1张图片

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

接口测试之文件下载_第2张图片

接口测试之文件下载_第3张图片

               点击保存,即可下载成功

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

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

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

1 import requests
2 from contextlib import closing
3 
4 url = 'http://127.0.0.1:8001/case/down'
5 
6 with closing(requests.get(url, stream=True)) as response:
7     with open("文件名1.py", "wb") as file:
8         for data in response.iter_content(128):
9             file.write(data)

 如图,文件下载成功。

接口测试之文件下载_第4张图片


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

你可能感兴趣的:(接口测试,软件测试,经验分享,程序人生,软件测试,python,自动化测试,接口测试,文件下载)