PostMan 是一款用于发送HTTP请求的Chrom插件,主要用来做接口测试,PostMan工作方式如下:
1) 输入请求地址的详细信息后,点击“send”(发送)按钮;
2)该请求由API服务器接收 ,不管请求成功还是失败,服务器都会返回一个响应报文;
3)响应报文由PostMan接收后,会以可视化的方式显示出来。
接口的断言:
在自动化测试中,每一个接口测试用例都需要断言,无断言的自动化测试用例是无效的。在PostMan中编写断言是在Tests中,在Tests中
定义一个变量,把服务端返回的响应数据存储到一个变量中,然后进行断言的处理,Tests编写的示例内容如下:
var jsonData = JSON.parse(responseBody) 定义变量,将响应数据存储在变量中;
/*HTTP协议状态码验证*/
tests[‘status code is 200’] = responseCode.code === 200
/*业务状态码验证*/
tests[‘业务状态码验证’] = jsonData.result.code === ‘9999’
/*响应结果的值验证*/
tests[‘登录成功后complateReg值验证’] = jsonData.result.data.cpmplateReg === ‘0’
在以上Tests中,断言主要有三部分,分别是HTTP的协议状态码、业务状态码和登录成功后响应数据data中具体字段的值。
把服务端返回的响应数据存储在变量jsonData中,然后断言业务状态码code是不是9999,该代码是:
tests[‘注释信息,也就是结果中打印的信息’] = 获取status值 = 期望的值,与期望的值一样才代表测试用例有效
Token的获取
在接口测试中,经常需要获取Token,每一次登录成功后,服务端都会产生一个随机的字符串也就是Token,然后把Token返回给客户端,
客户端带着这个Token,就可以操作服务端系统的业务。获取Token的步骤如下:
1)先请求登录接口;
2)登录成功后,返回Token;
3)获取Token;
4)吧获取的Token当作下一个接口的请求参数。
Collection
Collection可以把所有的请求组合到集合中,使接口测试用例有顺序地执行。使用Collection一方面可以解决接口测试用例执行的顺序问
题,另外一方面可以避免之前重复执行接口测试用例的繁琐,省去在历史记录中搜索已执行过的操作。在PostMan左边的Collection中,
点击创建+的图标,在弹出的对话框中,填写name,然后点击“Create”,然后可以将需要测试接口用例按顺序设置并Save到Collection。
然后执行Collection中所有的接口用例,点击PostMan向后的箭头,在新页面中点击“Run”按钮,可以看到执行用例的结果。
Variables
在实际应用中请求的地址往往是不确定的,IP地址和请求端口会有改变,一旦改变,PostMan接口用例中的请求地址全部要修改,维护成
本高。这时可以使用Collention的Variables。把公共数据分离到Variables中,在Variables中把公共数据定义成一个变量,将每个接口
请求地址替换成变量就可以了,这样即使地址修改了,也只需要维护Variables中的数据。实现过程如下:
在PostMan集合中点击…出现下拉框,然后选择Edit,在弹出的页面中选择“Variables”,在Variables中把请求地址、登录用户名、密、
码等每个接口公共数据分离出来。然后每次公共数据改变时,只需要在Variables中update各项数据就行。
请求带上Cookie
有时访问某些页面需要带上登录后的Cookie,只需要在send请求前,在请求头中加上Cookie即可。
NewMand的应用
使用NewMan可以轻松的运行和测试PostMan中Collections的接口用例。安装NewMan前必须先安装node.js,在安装node.js后,打开CMD,
输入命令安装NewMan:npm install -g newman --registry=https://registry.npm.taobao.org。
点击集合PostMan的向左的箭头,在弹出的界面中点击Share,选择CollectionLink,点击Get Linkl。点击Copy To Clipboard,在cmd的
命令提示符中执行命令:newman run https://www.getpostman.com/collentions/82b28918cf93a7d5fe09,即可看到执行的结果。
还可以导出Collections,然后使用NewMan执行导出的文件,点击集合PostMan的“…”图标后,下拉框中点击“Export”,在弹出框中点
击Export,把导出文件,可存放到执行指定目录下,然后cd进入到该目录,执行命令:newman run PostMan.postman_collection.json,
然后屏幕上会显示执行接口用例的结果。也可以将该执行结果以html文档形式输出测试报告到该目录下,执行命令:
newman run PostMan.postman_collection.json --report html,然后会在目录下生成一个NewMan的文件夹,并在该文件下生成一份基于
HTML的测试报告。