接口测试之文件上传

2023-09-21 15:07:18

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

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

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)

在这里插入图片描述

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

更多推荐

ROS相机内参标定详细步骤指南

作者:HermanYe@Galbot@Auromix版本:V1.0测试环境:Ubuntu20.04、ROS1Noetic更新日期:2023/09/14注1:本文内容中的硬件由@Galbot提供支持。注2:@Auromix是一个机器人爱好者开源组织。注3:由于笔者水平有限,以下内容可能存在错误。注4:本文中直接引用各包官

python中的字符串也是可迭代对象吗?

python中的字符串也是可迭代对象吗?━━━━━━━━━━━━━━━━━━━━━━是的,Python中的字符串是可迭代对象。这意味着你可以像处理列表或元组那样处理字符串。例如,你可以使用for循环遍历字符串中的每个字符,或者使用in运算符检查一个字符串是否包含另一个字符串。这些都是Python中可迭代对象的特性。━━

Matlab论文插图绘制模板第114期—带图形标记的图

之前的文章中,分享了Matlab带线标记的图:带阴影标记的图:带箭头标记的图:进一步,分享一下带图形标记的图,先来看一下成品效果:特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式。模板中最关键的部分内容:1.数据准

32:TX Text Control ActiveX/ASP.NET/WinForms/WPF Crack

TXTextControlActiveX32.0添加操作“普通”样式表的能力。2023年9月14日-15:38新版本特征脚注-在文档中插入与MicrosoftWord兼容的脚注。脚注是一种文字处理功能,允许用户在页面底部插入附加信息。可编辑的[普通]样式表-添加了操作[普通]样式的功能。这允许您更改文档的根样式,该样式

1. js中let、var、const定义变量区别与方式

1声明语法varupperA='A';letupperB='B';constupperC='C';只声明不初始化的结果,【const定义的常量不可以修改,而且必须初始化】//var声明变量varupperA;console.log('打印大写的A:%s',upperA);//结果:打印大写的A:undefined//l

影响软文效果的三大因素,一定要牢记

在信息技术发展速度越来越快的今天,企业宣传时已经不再局限于传统的硬广,开始利用软文来提升曝光率,软文作为一种全新的宣传手段,具有覆盖面广、成本低且持续时间长,但是有三大因素稍不注意就会影响软文发布的效果,下面就让媒介盒子告诉大家是哪些因素。一、 软文主题是否明确许多企业为了提高热度,经常会在软文中堆砌过多的关

Java基于SpringBoot的在线考试系统的研究与实现(附源码,教程)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌文章目录第一章第二章.主要技术第三章第四章系统设计4.1功能结构4.2数据库设计4.2.1数据库E/R图4.2.2数据库表第五章系统功能实现5.1系统登

P2P协议的传输艺术

TP采用两个TCP连接来传输一个文件。控制连接:服务器以被动的方式,打开众所周知用于FTP的端口21,客户端则主动发起连接。该连接将命令从客户端传给服务器,并传回服务器的应答。常用的命令有:list——获取文件目录;reter——取一个文件;store——存一个文件。数据连接:每当一个文件在客户端与服务器之间传输时,就

Learn Prompt-提供示例

目前我们与ChatGPT交流的主要形式是文字。提示除了指令+问题的形式外,还可以包含例子。特别是当我们需要具体的输出时,提供例子可以省去我们对具体任务的解释,帮助ChatGPT更好地理解我们的确切需求,从而提供更准确,更有针对性的答案。1-shot单个示例​值得注意的是,shot代表的是“样本”。0-shot就是没有样

【unity】关于技能释放shader.CreateGPUProgram造成卡顿,优化和定位方法。

关于优化方法,UWA这边有介绍Unity移动端游戏性能优化简谱之CPU耗时调优|单帧|动画|调用|unity|实例化_网易订阅对此,我们可以将Shader通过ShaderVariantCollection收集要用到的变体并进行AssetBundle打包。在将该ShaderVariantCollection资源加载进内存

自动化测试---即selenium

自动化测试自动化测试的意思就是:本来是人去做测试的,现在让机器来帮你做测试。优点体现在:节约成本提高效率减少人工去做事提高复用性UI自动化1、关于UI自动化大家常见工具或者框架有:AutoItV3、selenium、uiautomator2、Appium、adb、ATX-Test、Airtest、ATXServer2、

热文推荐