基本用法
案例一:提交字符串参数
需求:
1.访问TPshop搜索商品的接口,通过查询字符串的方式传递搜索的关键字 iPhone ,并查看响应数据
2.请求路径格式为:http://localhost/index.php/Home/Goods/search/q/iphone.html?q=iPhone
案例二:提交form表单数据
需求:
1.请求TPshop项目登录接口,请求数据 (username:13641111112,password:123456,verify_code:8888)
2.登录接口URL:http://localhost/index.php?m=Home&c=User&a=do_login
案例三:提交JSON数据
需求:
1.请求IHRM项目的登录接口,请求数据({"mobile":"13800000002","password":"123456"}) 2.登录接口地址URL:http://ihrm-java.itheima.net/api/sys/login
登录接口文档描述
高级用法
用例管理
创建collection进行用例管理
作用:规范法管理接口上的大量测试用例
测试用例名称:项目+模块+编号+功能
postman断言
断言:让程序判断预期结果和实际结果是否一致。
断言响应状态码是否为200(Status code is 200)
断言响应体JSON数据校验(Response body:JSON value check)
排错说明:
- 检查断言代码片段是否选错了
- 检查断言代码是否设置错了 预期结果或者是判断实际结果的字段选择错误
- 先点击发送,基于响应中的body数据做初步预判
- 检查请求相关参数(请求方式、请求头、请求体)
断言响应体是否包含指定字符串(Response body: Contains string)
断言响应体是否等于指定字符串(Response body:Is equal to a string)
断言响应头是否包含指定的头信息(Response headers: Content-Type header check)
全局变量与环境变量
概念
- 全局变量:作用范围是针对postman下面所有测试集均生效
- 环境变量:
- 只对选择了对应环境的测试集生效(如:选择了测试环境的测试集IHRM0720)
- 开发环境、测试环境、生产/线上环境
- 一套环境中变量不能重复、但是可以定义多个不重复的变量
设置变量
全局变量
手动设置
代码设置
环境变量
手动设置
代码设置
获取变量
获取变量并且在控制台打印
postman关联
Postman关联:后一个接口的请求需要依赖前一个接口的响应数据,一般通过全局变量或者环境 变量来进行参数在接口之间的传递。
实现:
- 在前置接口中,保存并提取想要传递的参数
- 将数据保存到全局变量或者环境变量中
- 在后续接口中,直接使用保存的变量
请求前置脚本
批量执行测试用例
读取外部文件实现参数化
1.准备测试数据文件
2.设置参数
- 在请求中使用,直接通过{{变量名}}引用
- 在断言中使用时,需要借助postman内置的data方法来进行使用,data.username
3.选择数据文件进行批量执行
4.结果检查
需求:批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确
接口地址: http://cx.shouji.360.cn/phonearea.php?number=13012345678
部分测试数据:
手机号: 13012345678 运营商: 联通
手机号: 13800001111 运营商: 移动
手机号: 18966778899 运营商: 电信
新建外部文件csv,故意写错了一个
测试查询接口,编写断言
运行文件夹,选择外部文件
查看结果
测试报告
搭建Newman相关环境
1.双击安装
2.打开cmd,输入【node -v】验证
3.输入【npm -v】验证
4.【npm install -g newman】安装
5.【newman -v】验证
6.【npm install -g newman-reporter-html】安装
使用Newman生成HTML测试报告
1.在postman中导出测试集、环境变量、全局变量和数据放在一起
2.在放文件的目录下打开cmd执行
newman run 测试脚本文件 -e 环境变量文件 -g 全局变量文件 -d 测试数据文件 -r html --reporter-html-export report.html
3.打开测试报告
项目实战
1.初始化工作
1.1.创建测试用例结构
按照接口文档创建测试用例结构目录
1.2.设置环境变量
登录设置data作为全局变量,因为其他操作需要验证登录
设置开发环境、测试环境、生产环境变量,主要是访问地址不同
2.实现测试用例
2.1登录成功
输入地址、添加请求头、输入测试数据、设置断言及构建全局变量g_data
2.2查看城市列表
设置地址、设置请求头带上权限验证、保存当前城市名称
2.3查看用户资料
保存当前用户名称
2.4查看组织架构
保存一个部门的id
2.5获取部门信息
参数带上上一个查询出来的部门id
2.6部门添加
这个接口不太行的样子,页面上可以添加成功的
2.7部门修改
传参数部门id、修改内容json
不太行
2.8部门删除
传参部门id,页面上也删除不了
3.生成测试报告
导出测试集、全局变量、生产环境变量