接口测试 | 使用Postman实际场景化测试
Postman实际场景化测试
- 项目初始化环境
- 1. 接口测试用例文档编写
- 2. 创建用例集和功能模块
- 3. 初始化环境变量
- 1. 登录模块场景测试
- 1. 登录模块请求接口
- 2. 添加断言测试
- 3. 其他接口测试用例共性分析
- 2. 员工管理模块场景测试
- 1. 分析此次测试流程
- 2.提取令牌信息
- 3. 实际业务场景
- 1. 添加员工
- 2. 查询员工
- 3. 修改并查询员工
- 4. 删除员工
- 5.查询员工列表
- 6. 批量生成测试用例
- 7. 生成测试报告【环境变量】
项目初始化环境
1. 接口测试用例文档编写
设计测试用例 如下,后续的Postman场景测试都是基于这个测试用例文档执行的
在W模型中,接口测试用例文档的编写主要集中于系统设计阶段(对应集成测试设计)
,因为此时接口规范已清晰。需求阶段奠定基础,详细设计阶段补充细节,执行阶段维护更新。
2. 创建用例集和功能模块
3. 初始化环境变量
环境:测试、开发、生产 目前是测试环境
【选中】
- 查看环境变量
dnmfiodmosfdks fklmds M kmemf方面a; m;mf;amf;;吗目的是方面发的
1. 登录模块场景测试
1. 登录模块请求接口
2. 添加断言测试
3. 其他接口测试用例共性分析
在前期测试用例文档中认真分析并书写文档,进行测试就会方便很多,同时在Postman中相似的用例之间可以通过复制粘贴方式
快速进行相关设置!!!
2. 员工管理模块场景测试
业务场景的测试主要进行测试接口之间的关联!!!
1. 分析此次测试流程
-
登录成功,返回的“令牌”,被添加、查询、修改、删除员工接口依赖。
-
添加员工成功,返回的“员工id”,被查询、修改、删除员工接口依赖。
以上的依赖关系,借助postman关联和
环境变量
来实现!!
2.提取令牌信息
- 过程
- 发送http登录请求,在响应体中得到data值。
- 将data值拼接"Bearer"和“空格”,组成一个合法令牌。【
令牌是有时长限制,过期需要从新生成!!
】 - 将拼接后的令牌环境变量中。(
在Tests中通过js代码写入
)
//拼接data的值,添加Bearer和空格。组成合法令牌//获取响应体,保存在isonData变量中。
var jsonData = pm.response.json()//提取data的值。保存在tmp_token中。
var tmp_token = jsonData.data//拼接Bearer和空格到data值的前面。"Bearer"+" "+tmp_token
pm.environment.set("env_token","Bearer"+" "+tmp_token)
3. 实际业务场景
依据该模块下的测试用例文档进行场景测试
1. 添加员工
- 测试用例
这里需要使用提取令牌的值
2. 查询员工
查询员工必须获取的员工的ID数值,也就是添加员工模块中返回的响应数据中的id字段数值
- 过程
·1. 获取添加员工成功的data下面的id值。【这里实际上也关联
到了令牌
】
·2. 将 员工id 设置 环境变量 (返回 登录测试模块将代码写入Tests中)
·3. 点击“眼睛"图标查看。
//获取添加员工的响应体
var jsonData=pm.response.json()
//提取员工id
var tmp_id = jsonData.data.id
//设置到环境变量。
pm.environment.set("env_emp_id",tmp_id)
- 测试用例
- 关联的
令牌环境变量
- 路径参数关联的id环境变量
3. 修改并查询员工
唯一区别 : 带有请求体数据 【就是修改信息】
- 测试用例
4. 删除员工
- 测试用例
5.查询员工列表
- 测试用例
6. 批量生成测试用例
目的: 测试的最后结果通过测试报告展现 。测试报告的展现依靠断言
!
-
步骤
- 给每个http请求添加断言(成功断言)
- 点击用例集名称,run,进入Runner页面。批量执行。
- 导出用例集。
-
添加断言
-
批量执行测试用例并导出
-
导出测试用例
【这里是用例集名称 不是模块文件夹的名称!!!】
7. 生成测试报告【环境变量】
- 导出环境文件
- 将环境文件,与测试用例集文件,放置到同一个目录下。
- 执行命令:
newman run 测试用例集文件.json -e 环境文件.json -r html--reporter-html-export 测试报告名.html