Postman安装、基本操作、高级用法(用例管理、断言、全局/环境变量、请求前置脚本、参数关联、批量执行测试用例、引入外部数据文件、postman生成测试报
文章目录
1.postman介绍及安装
实战细节知识:
前端开发发布前端的代码到服务器上后,必须记得清除浏览器的缓存,否则会导致出现环境问题
Postman介绍(了解):是一款用于调试接口请求的工具,使用简单,功能强大。
- 特点(了解):
- 图形化界面
- 能保存历史记录
- 能够使用Collection管理用例
- 能够在团队之间共享接口信息
postman安装:
1.下载postman:https://www.getpostman.com/downloads/
2,双击下载下来的安装包,进行安装
2.postman基本操作
案例一 :实现访问百度搜索结构,搜索python
请求方式:Get
请求URL:http://www.baidu.com/s
请求URL中的参数:wd=python
实现步骤:
1,在Postman中设置请求方法为Get
2,在Postman中设置请求URL
3,在Postman的Params中设置请求参数
4,点击Send发送
5,查看响应结果查看响应数据
- 1,在响应体的Pretty中,寻找title,确认title中搜索的是不是python_百度搜索
2,可以点击响应体中preview来进行查看
案例二:实现Tpshop登陆接口,提交表单数据
请求方式:Post
请求URL:http://localhost/index.php?m=Home&c=User&a=do_login
请求体中请求参数:username=13800138006&password=123456&verify_code=8888
实现步骤:
1,在Postman中设置请求方法为Post
2,在Postman中设置请求URL
3,在Postman的form-data中设置请求参数
4,点击Send发送
5, 查看响应结果响应的Json数据
案例三:实现IHRM登陆接口,提交Json数据
请求方式:Post
请求URL:http://182.92.81.159/api/sys/login
请求体中请求参数:{“mobile”:“13800000002”,“password”:“123456”}
请求头:{“Content-Type”:“application/json”}
实现步骤:
1,在Postman中设置请求方法为Post
2,在Postman中设置请求URL
3,在Postman的Headers中设置请求头
4,在Postman的raw中设置请求参数
5,点击Send发送
6,调试响应数据
3 Postman高级用法
Postman用例管理
1,新建Collection
2,添加文件
在这里插入图片描述
3.,添加请求
断言
断言:
让程序判断预期结果和实际结果是否一致
postman断言是使用javaScript语音编写的,写在Tests标签页里
Testsz中的脚本在发送请求之后执行,会把断言的结果最终在Test Results标签页中展示
案例1 断言响应状态码:案例2和案例3
断言包含字符串和断言响应体案例4和案例5
断言Json数据和响应头
注意var是这里设置变量必须定义的
Postman全局变量和环境变量
全局变量(了解):全局唯一的变量
环境变量(了解):
- 变量只属于某个环境
- 不同环境之间可以允许有变量重复
- 常见的环境有:测试环境,开发环境,生产环境
- 一个环境可以包含多个环境变量
扩展内容(重点):
- 全局变量和环境变量的变量名称重复时,Postman会优先使用环境变量
- 全局变量或者环境变量中的变量名称重复时,会优先使用最下面的变量
全局变量
1 手动设置全局变量
2 检查设置的全局变量
3 在请求参数中引用全局变量
通过{{var}}进行引用postman里点击view倒数第二个可以进入控制台
4 在代码中设置全局变量1.直接在请求头引用设置好的全局变量
2.在代码中引用并打印
点击set a globle variable获取全局变量
consele.log在控制台打印日志
环境变量
- 手动设置环境变量
点击右上角的齿轮->点击ADD->设置环境变量
- 在请求参数中获取环境变量的方法和全局变量一致
- 在代码中设置和获取环境变量
4 请求前置脚本
Postman调用脚本流程图:
注意:在Tests中能够获取到响应数据,而在执行请求前置脚本中不能获取到响应数据(为什么?因为请求前置脚本是在发送请求之前执行的代码)
应用场景:
1.加密
2.生成随机数
案例:
需求:在请求头中添加一个时间戳,参数名为ts
分析:如何获取当前时间? var timestapm = new Date().getTime;
1,在pre-request script中编写代码
2, 查看保存的时间戳
- 引用随机数
通过Postman内置随机数进行引用:$guid
{{$guid}}
5, 参数关联
参数关联:是指多个接口之间有依赖关系的时使用的技术
使用方法:
1,在A接口中获取Json数据并保存关联的变量到环境变量
2,在B接口中引用保存的环境变量
代码:案例:调用查询天气接口,获取到该接口返回的城市,然后使用百度搜索接口搜索获取到的城市
点击send
6,批量执行测试用例
点击用例集旁边的三角形,点击Run
Environment:选择环境
Itreations:迭代次数
Delay:设置时间
Log Responses For all requests(所有请求都打印日志)
For failed requests(对失败的请求打印日志)
For no requests(没有日志)
Data Select File(引入外部数据文件)
点击Run参数关联
注意:Postman可以进行性能测试,但是不建议使用他,为什么呢?因为Postman的测试结果有很大误差。断言代码写好再次批量执行
7 引入外部数据文件
应用场景:针对于某个接口,如果有大量的测试数据需要批量验证,可以吧测试数据保存到数据文件中,通过参数化的方式来实现。
1,我们要设计要测试的接口
2,分析接口,构造数据文件
-常用的数据文件格式有 json,csv
通过Runner引入数据文件,进行自动化接口测试,或者说数据驱动测试,实现参数化关联
CSV:
新建一个文本改名为.csv后缀用Notepad++打开并编辑数据
json:
注意下图断言200状态码不能加双引号3, 关联数据文件中的变量到接口的数据当中
注意本地环境也要添加mobile,跟password
请求体中mobile的值改成引用外部文件中的变量名
下图200不能加双引号
4,通过Runner引入数据文件,进行自动化接口测试,或者说数据驱动测试,实现参数化关联
数据驱动之断言
再次导出json数据(断言200不能加引号)
csv断言:
请求体数据更换,断言数据方式跟json一样
8 Postman生成测试报告
1,newman的介绍
newman是一个使用node.js开发的支持Postman接口测试的工具,并且能够生成测试报告
2,安装newman
-
安装node.js
-
1,下载node.js
http://nodjs.cn/download/ -
2,运行下载的安装包,按照安装向导进行安装
-
检查安装:打开cmd窗口,输入node -v来检查是否安装成功,如果显示了具体的版本号,就证明安装成功了
-
-
安装newman
-
打开cmd窗口,输入node -v确认node.js已经安装
-
输入npm install -g newman,安装newman
注意:一定要保证网络的通畅;如果安装过程中出现了Error错误,那么需 要进一步分析。
-
检查newman的安装:输入:newman -v;看到版本号就证明安装成功了
-
-
安装newman的插件
-
打开cmd窗口,输入npm install -g newman-reporter-html即可完成安装
-
检查方法:
1 打开Newman所在的数据文件目录,检查有没有newman-reporter-html这个文件夹(初步确认)
2 使用newman命令执行测试用例集生成测试报告,如果没有html的报告,那么证明安装失败
使用newman运行测试用例集生成测试报告
1,导出用例集
2,导出环境
3,准备数据
4,使用newman生成测试报告
在数据、用例集、环境文件所在目录打开CMD窗口
CMD窗口中的目录路径要和文件所在路径完全一致
输入dir,确认当前目录有数据文件,用例集文件,环境文件
输入newman命令: 没有出现报错和其他信息,就证明生成报告了,然后进入当前目录查看report.html文件