Postman系列三:Postman中post接口实战(上传文件、json请求)
一:接口测试过程中GET请求与POST请求的主要区别
从开发角度我们看get与post的主要区别是:1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;2.Get安全性比Post低:Get将表单中数据的按照key=value的形式,添加到action(动作或者说操作)所指向的url后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post是将表单中的数据放在form的数据体中,按照键值对方式,传递到action所指向url;3.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度(跟浏览器和操作系统相关)的限制,只能传递大约1024字节.
从上面分析我们可知:get请求键值对都在url后面,我们按照规则可以直接在浏览器上操作,当然也可以直接借助接口测试工具进行操作,对于post请求,我们则需要借助接口测试工具,可能也有人说我可以直接在前端页面上进行测试,举一个例子,比如:在一个输入框中,输入一个0-100的整数,我们用-1,0,100,10.1,12.33,103这些测试用例进行测试,发现-1,10.1,12.33,103都不合适,前端对一些不合格的都进行了限制,但是有一天-1这个值,写入了数据库,人家不是从页面输入的,原来是做后端开发的人员不严谨造成的。这时候你就会发现利用接口测试工具有多方便了。
二:POST接口实战文件上传
找了好些接口,没有遇到满意的,在这里我使用特斯汀学院的TP商城来进行举例。
登录接口测试流程:
1.打开浏览器输入登录页面网址:http://www.testingedu.com.cn:8000/Home/user/login.html,由于浏览器F12调试模式抓取不到我想要的接口,所以利用抓包工具Charles抓取登录接口,通过抓取发现抓取的为html页面,所以Overview中Content-Type:text/html; charset=UTF-8。重点查看Contents栏中Headers中Content-Type信息、Query String Parameters(对应Charles中Contents栏中Form信息)、Response信息。

2.打开Postman,新建Request,输入url,选择POST方法等,在Body中选择x-www-form-urlencoded,填写Form里面对应的键值对,发送请求,查看结果,结果中有Unicode编码格式的,可以在网上搜索进行中文转换。


3.测试几条数据查看最后结果与预期结果作对比。经过测试发现username,password,verify_code都必不可少,手机号码要符合规则。

文件上传接口实例:在Postman中Body选择form-data,选择file格式,键为file,选择图片即可。每次发送请求需要重新上传图片,没有保存图片功能。


三:POST接口实战JSON请求
json请求的例子我今天用的是BestTest培训机构牛牛老师写的接口,具体接口文档描述如下:



通过接口文档信息我们可以获取到:url地址、请求方法,以及Postman中请求Body中选择raw选项JSON(application/json)格式,3个必填的参数。

Postman系列三:Postman中post接口实战(上传文件、json请求)的更多相关文章
- node.js+react全栈实践-Form中按照指定路径上传文件并
书接上回,讲到“使用同一个新增弹框”中有未解决的问题,比如复杂的字段,文件,图片上传,这一篇就解决文件上传的问题.这里的场景是在新增弹出框中要上传一个图片,并且这个上传组件放在一个Form中,和其他文 ...
- Selenium系列(十一) - 针对两种上传文件方式的实现方案
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- C#开发BIMFACE系列4 服务端API之源上传文件
在注册成为BIMFACE的应用开发者后,要能在浏览器里浏览你的模型或者获取你模型内的BIM数据, 首先需要把你的模型文件上传到BIMFACE.根据不同场景,BIMFACE提供了丰富的文件相关的接口. ...
- 小白向:web中利用request.getPart()上传文件到服务器
被文件上传弄得焦头烂额的一天,果然web中的路径和各种设置真的好讨厌= = 下面是超级小白的.及其简约的“详”解 1.明确目的: 用户将 1.txt 文件 上传到 服务器(web工程下的某个文件夹)中 ...
- 关于IE9中webdiriver使用autoit上传文件报错
在ie9中, type="file"的元素是通过js打开的 webdirver结合autoit上传文件时,会报拒绝访问的错 sciTE编辑器中是这样写的: #include < ...
- ASP.NET中扩展FileUpload的上传文件的容量
ASP.NET中扩展FileUpload只能上传小的文件,大小在4MB以内的.如果是上传大一点的图片类的可以在web.config里面扩展一下大小,代码如下 <system.web> &l ...
- 在Struts2中使用Uploadify组件上传文件
Uploadify是一个基于Jquery的文件上传组件,官网http://www.uploadify.com/可以在官网获得该组件,运行演示示例,下载帮助文档. 作为Web前端的增强技术,Jq ...
- 【HTTP】boundary 中一个 = 导致HTTP上传文件失败
(1)#define ABOUNDARY "----=_Resume_002_0CE7_01D1C649.298A8070" (2)#define ABOUNDARY " ...
- C#post调用接口并上传文件
/// <summary> /// C#调用接口上传json数据,并且带文件上传 /// </summary> /// <param name="url&quo ...
- Java文件上传:Restful接口接收上传文件,缓存在本地
接口代码 import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; i ...
随机推荐
- children(),find()
向下遍历 DOM 树 下面是两个用于向下遍历 DOM 树的 jQuery 方法: children() find() jQuery children() 方法 children() 方法返回被选元素的 ...
- linux中>/dev/null 2>&1和2>&1 > /dev/null
转载:https://www.cnblogs.com/520playboy/p/6275022.html 背景 我们经常能在shell脚本中发现>/dev/null 2>&1这样的 ...
- fiddler抓取手机https请求详解
前言: Fiddler是在 windows下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析,fiddler默认只能抓取http请求,需要配置和 ...
- 关于System.ExecutionEngineException异常
什么是System.ExecutionEngineException 公共语言运行库的执行引擎中出现内部错误时引发的异常.这个类不能继承. 继承 Object Exception SystemExce ...
- STATUS_STACK_BUFFER_OVERRUN不一定是栈缓冲区溢出
STATUS_STACK_BUFFER_OVERRUN异常一般是指栈缓冲区溢出的溢出,代码为0xC0000409,消息提示一般为“Security check failure or stack buf ...
- 洛谷P2730 [IOI]魔板 Magic Squares
题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有一种颜色.这8种颜 ...
- System.getProperty、PropConfig.loadConfig应用
1.获取项目下制定位置(System.getProperty("admin.root")): 在web.xml中配置webAppRootKey <context-param& ...
- SP19997 MOON2 - Moon Safari (Hard) 【数论,多项式】
题目描述:求 \[ \sum_{i=1}^ni^kr^i \] 对某个质数取模.\(T\)组数据. 数据范围:\(n,r\le 10^{18},\sum k\le 2.56\times 10^6\) ...
- 微信小程序地图组件
index.wxml <map id="map" markers="{{markers}}" longitude="{{longitude}}& ...
- koa post提交数据,koa-bodyparser中间件来获取post提交数据
原生 Nodejs 获取 post 提交数据 首先创建并初始化一个node应用,根路由使用index.ejs模板 var Koa=require('koa') var router = require ...