前端段分离开发现阶段越来越流行,而前后端分离开发的好处之一就是前端和后端开发人员可以分别调试自己的程序,完成基本的单元测试,加快开发效率。
最近自己也是在做的项目是前后端分离的,因此在测试接口的时候需要通过GET或POST来请求api,因此在这总结一下postman测试接口的方法
安装postman
POSTMAN安装链接
POSTMAN其实就是一款Chrome的插件,用于模拟HTTP请求,帮助后端人员进行单元的工具。它可以自定义请求URL、请求的类型【GET,POST等】,可以加入Head头信息以及HTTP body信息等,让我们简单直观的进行HTTP请求测试。
一、基础知识
- 1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
GET请求:请求指定的页面信息,并返回实体主体。(通常用来接收数据)。 POST请求**:向指定资源提交数据进行处理请求,数据被包含在请求体中。 POST请求可能会导致新的资源的建立、已有资源的修改。(通常用来发送数据)。 HEAD请求:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。 PUT请求:从客户端向服务器传送的数据取代指定的文档的内容。 DELETE请求:请求服务器删除指定的页面。 CONNECT请求:能够将连接改为管道方式的代理服务器。 OPTIONS请求:允许客户端查看服务器的性能。 TRACE请求:显示服务器收到的请求,主要用于测试或诊断。
- 2.接口调用传参方式:key-value参数形式,Json串传参形式。
key-value参数:把参数拼接在url的后面由?相连,多个参数之间用&相连。 Json串传参:需要在请求的body写中,入Json格式参数。
postman界面介绍
collection在postman里面相当于一个文件夹,可以把同一个项目的请求放在一个Collection里方便管理和分享,Collection里面也可以再建文件夹。
- 新建一个请求
GET请求示例
- GET请求,这里以该博客链接举例
1 Authorization:身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。;
2 Headers:请求的头部信息
3 Body:post请求时必须要带的参数,里面放一些key-value键值对
4 Pre-requerst Script:可以让你在 请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。
5 tests:tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在tests的tab上面显示一个通过的数量以及对错情况。这个后面会进行详解,它也可以用来设计用例,比如要测试返回结果是否含有某一字符串
6 form-data:,它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。);post请求里较常用的一种
7 x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对;
8 raw:可以上传任意类型的文本,比如text、json、xml等,所有填写的text都会随着请求发送;
9 binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交;
- GET请求的响应格式,确定请求的url之后点击send之后就能获得响应,如下body处是response的主体,可以选择响应的格式,默认的响应格式是JSON格式,但因为我们此时请求的是网页界面,所以返回的自然是html格式
POST请求示例
下图示例中设置了请求方法,请求URL,请求参数,但是没有设置请求头
在我的使用过程中,请求头是根据请求参数的形式自动生成的
请求头中的Content-Type与请求参数的格式之间是有关联关系,比如:
- POST请求,请求的内容会放在body中,比GET请求会更安全,并不会把请求相关的信息放在请求的url中
- 可根据请求的接口不同选取不同的请求方式,postman中提供多种请求方式