一、Postman介绍
1、模拟各种HTTP requests
从常用的GET、POST到Restful的PUT、DELETE....等等。甚至还可以发送文件,送出额外的header
2、Collection功能(测试集合)
Collection是requests的集合,在做完一个测试的时候,你可以把这次的request存到特定的Collection里面,如此一来,下次要做同样的测试时,就不需要重新输入。而且一个Collection可以包含多条request,如果我们把一个request当成一个test case,那Collection就可以看成是一个test suite。通过collection的归类,我们可以良好的分类测试软件所提供的API.而且Collection还可以Import或者Share出来,让团队里面的所有人共享你建起来的Collection。
人性化的Response
一般在用其他工具来测试的时候,response的内容通常都是纯文字的raw,但是如果是JSON,就是塞一整行的JSON。这会造成阅读的障碍,而postman可以针对response内容的格式自动美化。JSPN、XML、或是HTML都会整理成我们可以阅读的格式。
内置测试脚本语言
Postman支持编写测试脚本编写测试脚本,可以快速的检查request的结果,并返回测试结果
设定变量与环境
Postman可以自由设定变量与Environment,一般我们在编辑request,校验response的时候,总会需要重复输入某些字符,比如url,postman允许我们设定变量来保存这些值。并且把变量保存在不同环境中。比如,我们可能会有很多种环境,development、staging或local,而local,而这几种环境变量中的request URL也各不相同,但我们可以在不同的环境中设定同样的变量,只是变量的值不一样,这样我们就不修改我们的测试脚本,而测试不同的环境。
navite app 和 Chrome插件 版本区别:
1、native版本可以直接操作cookie,而Chrome版本需要安装扩展
2、native版本自带proxy,可以用来抓包
3、菜单栏
4、有一些headers在Chrome app上是受限的
5、native版本才有这个选项:Don‘t follow redirects option
6、Postman Console (native版本自带)
HTTP请求:
状态码:3开头表示重定向
4开头 客户端错误
401没有被授权
403也是没有被授权
500服务器错误
502配置,或者重启环境
响应的headers可以设置cookies
二、安装
进入postman官网,如果是mac系统可以直接点击mac app安装
如果是windows的话,需要在windows下安装chrome浏览器,然后在地址栏输入chrome://extensions,勾选开发者模式
然后将下载的postman插件解压,浏览器点击加载已解压的扩展程序,选择插件所在目录就可以了
三、Postman基本概念
1、定义
软件是基于api的,而postman可以帮助你测试api.也就是说postman可以帮助你成功进行接口测试。Postman 提供给我们一个强大的 Web API 和 HTTP 请求的调试,它能够发送任何类型的HTTP 请求 (GET, POST, PUT, DELETE...),并且能附带任何数量的参数和 Headers。不仅如此,它还提供测试数据和环境配置数据的导入导出。
2、接口都有哪些类型
(1)系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。
(2)程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。
3、接口的分类
(1)webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等。
(2)http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
4、什么是接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。重点测试的是数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等等,这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。
首先,接口文档应该包含以下内容:
(1)接口说明
(2)调用url
(3)请求方法(get\post)
(4)请求参数、参数类型、请求参数说明
(5)返回参数说明
由接口文档可知,接口至少应有请求地址、请求方法、请求参数(入参和出参)组成,部分接口有请求头header。
标头 (header):是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔,一般存放cookie、token等信息。
首先,它们确实都是发送到服务器里的参数,但它们是有区别的,header里存放的参数一般存放的是一些校验信息,比如cookie,它是为了校验这个请求是否有权限请求服务器,如果有,它才能请求服务器,然后把请求地址连同入参一起发送到服务器,然后服务器会根据地址和入参来返回出参。也就是说,服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参的。
选择postman的原因?
a、方便切换不同的环境进行接口测试工作,而不用修改变量或代码
b、可以在浏览器中直接只用插件(目前谷歌系统插件已经不更新了)
c、可以和newman和jenkins集成进行自动化构建,比较方便
接口测试的必要性
①、可以发现很多在页面上操作发现不了的bug
②、检查系统的异常处理能力
③、检查系统的安全性、稳定性
④、前端随便变,接口测好了,后端不用变
5、返回http状态码
每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:
1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。
2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,
3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面
4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果
6、怎样做接口测试
在测试过程中,很多场景都需要测试人员针对某个接口进行测试,并针对不同类型的接口设计不同的测试方案,这时如果有一 款功能强大的接口测试工具,就快速完成繁琐工作,大幅提升工作效率。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
7、GET请求和POST请求的区别:
1、GET使用URL或Cookie传参。而POST将数据放在BODY中。
2、GET的URL会有长度上的限制,则POST的数据则可以非常大。
3、POST比GET安全,因为数据在地址栏上不可见。
4、一般get请求用来获取数据,post请求用来发送数据。
其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些
8、postman 实现简单的post/get请求
如何将测试过的请求保存:
Collections功能可以将我们执行过的请求收集起来并可以给他们分类.具体操作步骤:
(1)打开postman进入主页,选择左上角的Collections,然后点击添加。
点击添加后,会弹出一个表单,需要你为Collections填一个名字,描述信息可填可不填。
用postman发送请求,测试完成之后,可以点击save as将该条请求添加到刚才创建的Collections中,下次再进行测试直接从Collections选择即可。
总结:
1.1 Get请求:Get 请求是最简单的请求方式,输入URL就能完成
第一步:新建一个tab页面
第二步:输入URL,选择请求方式为Get
第三步:点击“send”按钮
第四步:查看返回码是否异常
1.2 Post请求:Post请求跟Get的区别除了请求方式不同之外,还需要添加请求体,请求体内容多半为Json格式。
第一步:新建一个tab页面
第二步:输入URL,选择请求方式为POST
第三步:输入请求体内容
第四步:点击“send”按钮
第五步:查看返回码,返回信息等
1.3 带cookie的请求:该请求需要在Heards里面添加Cookie
第一步:新建一个tab页面
第二步:输入URL,选择请求方式为POST
第三步:输入请求体内容
第四步:在Heard里面添加Cookie信息
第五步:点击“send”按钮
第六步:查看返回码,返回信息等
1.4 带Header的请求
第一步:新建一个tab页面
第二步:输入URL,选择请求方式为POST
第三步:输入请求体内容
第四步:在Heard里面对应的内容
第五步:点击“send”按钮
第六步:查看返回码,返回信息等
1.5 文件上传的请求:发送请求前需要先上传文件。
第一步:新建一个tab页面
第二步:输入URL ,选择请求方式为POST
第三步:输入请求体内容,文件内容选择file, 选择本地的文件上传
第四步:点击“send”按钮
第五步:查看返回码,返回信息等