做接口测试如何上次文件

2023-09-21 16:46:12

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试)

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

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

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

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

  

接口信息:127.0.0.1:8001/case/upload_file
请求方式:post
参数名称:myfile
参数类型:file
方法1:postman编写测试脚本

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

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

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

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

 

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

  原理同postman,文件参数要使用File   

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

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)

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

  下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领

更多推荐

如何查看mysql的存储引擎

要查看MySQL中的存储引擎,可以使用以下两种方法:1.使用SQL查询:您可以使用SQL查询来查看MySQL中的存储引擎。打开MySQL客户端,并连接到您的MySQL服务器,然后运行以下SQL查询:SHOWTABLESTATUS;这将列出所有数据库中的表以及与每个表相关的信息,包括存储引擎。在结果中,可以查看"Engi

腾讯云16核服务器配置大全_CVM和轻量服务器汇总

腾讯云16核CPU服务器有哪些配置可以选择?可以选择标准型S6、标准型SA3、计算型C6或标准型S5等,目前标准型S5云服务器有优惠活动,性价比高,计算型C6云服务器16核性能更高,轻量16核32G28M带宽优惠价3468元15个月,腾讯云百科分享腾讯云16核CPU服务器可以选择的云服务器CVM规格列表:目录腾讯云16

二蛋赠书三期:《C#入门经典(第9版)》

文章目录前言活动规则参与方式本期赠送书籍介绍作者介绍内容简介读者对象获奖名单结语前言大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知,每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此,我非常感激大家一直以来对我的关注和支持。为了回馈大家的

[DB]数据库--lowdb

[DB]数据库--lowdblowdb基本应用获取数据数据变更写入文件lodash的使用获取数据lodash方法使用数据变更写入文件lowdblowdb,是一个基于文件存储的非关系型数据库基于loadsh的轻量级数据库可用于在json中存储数据,大小一般为0~200M的json文件方便简单的数据存储,快速的实现数据的增

Keepalived 高可用(附带配置实例,联动Nginx和LVS)

Keepalived一、Keepalived相关知识点概述1.1单服务的风险(单点故障问题)1.2一个合格的集群应该具备的特性1.3VRRP虚拟路由冗余协议1.4健康检查1.5”脑裂“现象二、Keepalived2.1Keepalived是什么?2.2Keepalived体系主要模块及其作用2.3Keepalived工

Git --- 基础介绍

Git---基础介绍git是什么git---工作区,暂存区,资源库git---文件状态git---branch和HEADgit---一次正常的git提交流程git是什么Git是一款分布式源代码管理工具(版本控制工具)Git和其他传统版本控制系统比较:传统的版本控制系统(例如SVN)是基于差异的版本控制,它们存储的是一组

HSRP(热备份路由选择协议)的概念,原理与配置实验

作者:Insist--个人主页:insist--个人主页梦想从未散场,传奇永不落幕,持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步目录一、了解HSRP协议1.什么是HSRP协议2、HSRP协议的作用二、HSRP组成员1.活跃路由器2.备份路由器3.虚拟路由器4.其他三、H

Java——String类

一、String类String是引用类型,在Java中“”引起来的也是String类型对象。//打印"hello"字符串(String对象)的长度System.out.println("hello".length());内部并不存储字符串本身,在String类的实现源码中,String类实例变量如下:publicsta

Linux【一】

目录一、Linux操作系统发展历史UnixMinixLinux二、Linux简介Linux是什么Linux的版本Linux内核版本Linux发行版本Linux应用领域?Linux注意事项三、Linux目录系统目录用户目录文件颜色四、Linux命令行基本操作Linux命令格式:查看帮助文档tab键自动补全命令输入历史命令

Nacos源码启动报错:protoc did not exit cleanly. Review output for more information.

报错解析:这是一个关于Protobuf(ProtocolBuffers)编译器出现问题的错误信息。Protobuf是一种用于结构化数据序列化的工具,该错误提示表明Protobuf编译器在执行过程中出现了问题,并建议检查输出以获取更多信息。快速解决:启动Nacos源码出现这个这报错,到这bean没有被创建,可以使用ide

边界框回归的魔法:揭秘精准高效的MPDIoU损失函数

文章目录摘要1、简介2、相关工作2.1、目标检测和实例分割2.2.场景文本识别2.3、边界框回归的损失函数3、点距最小的并集交点4、实验结果4.1、实验设置4.2、数据集4.3、评估协议4.4、目标检测的实验结果4.5、字符级场景文本识别的实验结果4.6、实例分割的实验结果5、结论摘要https://arxiv.org

热文推荐