接口测试之文件上传

 在日常工作中,经常有上传文件功能的测试场景,因此,本文介绍两种主流编写上传文件接口测试脚本的方法。

  首先,要知道文件上传的一般原理:客户端根据文件路径读取文件内容,将文件内容转换成二进制文件流的格式传输给服务端,而服务端接受客户端传过来的二进制文件流以及文件名称等信息(此时这些二进制文件流存储在内存中),然后将其写入存储空间(即磁盘中),完成上传操作,返回给客户端信息。

  ok,知道原理后,开始操作。

  本文将根据示例接口,编写文件上传接口脚本(示例接口demo采用python+django编写,后面会讲如何实现),接口信息如下:

接口信息:127.0.0.1:8001/case/upload_file
请求方式:post
参数名称:myfile
参数类型:file

方法1:postman编写测试脚本

  a.将接口信息填入请求中,请求参数类型勾选File

接口测试之文件上传_第1张图片

  b.点击【select Files】,调用系统文件弹窗选择文件,将文件信息赋值给接口中myfile参数

接口测试之文件上传_第2张图片

  c.选择文件参数后,点击【send】按钮发送请求。

接口测试之文件上传_第3张图片

  至此,请求发送完毕,查看postman接收到接口返回上传完成信息,上传文件成功出现在目录中(如下图)。

接口测试之文件上传_第4张图片

方法2:使用python+requests编写脚本文件

  原理同postman,文件参数要使用File,而非一般接口的body参数(当然,接口其他参数仍然要以body传输)   

       注意:要传入文件所在路径

import requests

url = "http://127.0.0.1:8001/case/upload_file"
payload = {}
files = [
    ('myfile', ('测试1.mp4', open('C:\\Users\EEO\Videos\Captures\测试1.mp4', 'rb'), 'application/octet-stream'))
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)

接口测试之文件上传_第5张图片

   如图所示,文件已成功上传至服务器。


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

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

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

你可能感兴趣的:(接口测试,软件测试,软件测试工程师,程序人生,软件测试,自动化测试,接口测试,文件上传,接口自动化测试)