文章目录
- 一、iHRM项目简介
-
- [1.1 功能模块](#1.1 功能模块)
- [1.2 技术架构](#1.2 技术架构)
- 二、初始化项目环境
-
- [2.1 新建用例集](#2.1 新建用例集)
- [2.2 创建环境变量](#2.2 创建环境变量)
- 三、单接口测试
-
- [3.1 登录模块](#3.1 登录模块)
-
- [3.1.1 登录成功-测试用例实现](#3.1.1 登录成功-测试用例实现)
- [3.1.2 其它接口共性分析](#3.1.2 其它接口共性分析)
- [3.1.3 其它接口实现](#3.1.3 其它接口实现)
- [3.1.4 批量运行测试用例](#3.1.4 批量运行测试用例)
- [3.2 添加员工](#3.2 添加员工)
-
- [3.2.1 分析](#3.2.1 分析)
- [3.2.2 登录成功-提取令牌(重点)](#3.2.2 登录成功-提取令牌(重点))
- [3.2.3 添加员工-测试用例实现](#3.2.3 添加员工-测试用例实现)
- [3.3 查询员工](#3.3 查询员工)
-
- [3.3.1 分析](#3.3.1 分析)
- [3.3.2 登录成功-提取令牌(重点)](#3.3.2 登录成功-提取令牌(重点))
- [3.3.3 提取添加员工的id](#3.3.3 提取添加员工的id)
- [3.3.4 查询员工-测试用例实现](#3.3.4 查询员工-测试用例实现)
- 四、业务场景测试
-
- [4.1 员工管理业务场景](#4.1 员工管理业务场景)
-
- [4.1.1 分析](#4.1.1 分析)
- [4.1.2 登录成功-提取令牌(重点)](#4.1.2 登录成功-提取令牌(重点))
- [4.1.3 修改员工](#4.1.3 修改员工)
- [4.1.4 删除员工](#4.1.4 删除员工)
- [4.1.5 查询员工列表](#4.1.5 查询员工列表)
- [4.1.6 批量执行测试用例](#4.1.6 批量执行测试用例)
- 五、生成测试报告
一、iHRM项目简介
1.1 功能模块
iHRM人力资源管理系统包含:
1、组织管理
2、员工管理
yacas
①登录成功
②员工添加
③员工查询
④员工修改
⑤员工删除
⑥员工管理列表
3、招聘管理
4、劳动合同
5、培训管理
6、考勤管理
7、绩效管理
8、福利管理
9、工资管理
1.2 技术架构
1、前端:以Node.js为核心的Vue.js前端技术生态架构
2、后端:
- SpringBoot+SpringCloud+SpringMVC+SpringData (这四个加起来称为:Spring全家桶)
- MySQL+ Redis + RabbitMQ(消息总线,完成数据通信)
3、配置信息一般写在文件当中。
二、初始化项目环境
2.1 新建用例集

2.2 创建环境变量

三、单接口测试
3.1 登录模块
3.1.1 登录成功-测试用例实现
json
// 请求体
{"abc":"123","mobile":"13800000002","password":"123456"}


3.1.2 其它接口共性分析
1、由于是同一个接口,因此:他们的 请求方法、URL、请求头 完全一致。
2、请求体(请求数据),各不相同。
3、预期结果不同,大致分为 3 类:
- 操作成功!------ 登录成功、多参、全部参数
- 用户名密码错误!------ 其他情况
- 抱歉系统繁忙。。。------ 无参
3.1.3 其它接口实现

3.1.4 批量运行测试用例
- 给 每个http请求添加 断言(成功断言)
- 点击用例集名称,run,进入 Runner 页面。批量执行。
- 导出 用例集。

3.2 添加员工
3.2.1 分析
添加员工依赖:登录成功 返回的"令牌"。
3.2.2 登录成功-提取令牌(重点)
-
发送 http 登录请求,在响应体中 得到 data值。
-
将 data值 拼接 "Bearer" 和 "空格" ,组成一个 合法令牌。
-
将 拼接后的令牌 写入到 环境变量中。(在 Tests 中通过代码写入)
js
// 获取json响应结果, 保存在 jsonData变量中。
var jsonData = pm.response.json()
// 提取 data的值。保存在 tmp_token 中。
var tmp_token = jsonData.data
// 将令牌保存成环境变量。拼接 data的值,添加 Bearer和空格。组成合法令牌( "Bearer" + " " + tmp_token)
pm.environment.set("env_token", "Bearer"+" "+tmp_token)

3.2.3 添加员工-测试用例实现

3.3 查询员工
3.3.1 分析
查询员工依赖:
- ①登录成功 返回的"令牌"。
- ② 添加员工成功 返回的 "员工id"。
3.3.2 登录成功-提取令牌(重点)
-
发送 http 登录请求,在响应体中 得到 data值。
-
将 data值 拼接 "Bearer" 和 "空格" ,组成一个 合法令牌。
-
将 拼接后的令牌 写入到 环境变量中。(在 Tests 中通过代码写入)
js
// 获取json响应结果, 保存在 jsonData变量中。
var jsonData = pm.response.json()
// 提取 data的值。保存在 tmp_token 中。
var tmp_token = jsonData.data
// 将令牌保存成环境变量。拼接 data的值,添加 Bearer和空格。组成合法令牌( "Bearer" + " " + tmp_token)
pm.environment.set("env_token", "Bearer"+" "+tmp_token)
3.3.3 提取添加员工的id
-
获取 添加员工成功的 data下面的 id值。
-
将 员工id,设置 环境变量(代码写入 Tests 中)
js// 获取json响应结果 var jsonData = pm.response.json() // 提取员工id var tmp_id = jsonData.data.id // 将员工id,设置到环境变量。 pm.environment.set("env_emp_id", tmp_id) -
发送 Send 之前,注意先修改 手机号,保证手机号唯一!
-
点击 "眼睛" 图标 查看。

3.3.4 查询员工-测试用例实现
1、查询员工成功
yacas
1、将测试用例中的,请求方法、URL、请求头,写入到 postman对应请求中。
2、:target 对应 的 路径参数,填充上 "员工id"的值。
{{员工id环境变量}}

2、查询员工失败

四、业务场景测试
4.1 员工管理业务场景
登录 - 添加 - 查询 - 修改 - 删除 - 查询员工列表
yacas
业务场景测试:测试方法有先后顺序
登录 - 添加 - 查询 - 修改 - 删除 - 查询员工列表
4.1.1 分析
整个员工管理模块中,所有接口,一共有两大类依赖关系:
- 添加、查询、修改、删除员工 接口,依赖 登录成功 返回的"令牌"。
- 查询、修改、删除员工接口,依赖 添加员工成功 返回的 "员工id"。
4.1.2 登录成功-提取令牌(重点)
-
发送 http 登录请求,在响应体中 得到 data值。
-
将 data值 拼接 "Bearer" 和 "空格" ,组成一个 合法令牌。
-
将 拼接后的令牌 写入到 环境变量中。(在 Tests 中通过代码写入)
js
// 获取json响应结果, 保存在 jsonData变量中。
var jsonData = pm.response.json()
// 提取 data的值。保存在 tmp_token 中。
var tmp_token = jsonData.data
// 将令牌保存成环境变量。拼接 data的值,添加 Bearer和空格。组成合法令牌( "Bearer" + " " + tmp_token)
pm.environment.set("env_token", "Bearer"+" "+tmp_token)
4.1.3 修改员工

4.1.4 删除员工

4.1.5 查询员工列表

4.1.6 批量执行测试用例
- 给 每个http请求添加 断言(成功断言)
- 点击用例集名称,run,进入 Runner 页面。批量执行。
- 导出 用例集。

五、生成测试报告
1、准备工作:
- 修改 添加员工 的手机号
- 导出 测试用例集.json
- 导出 环境文件.json
yacas
将 环境文件,与测试用例集文件,放置到同一个目录下
2、使用命令,生成测试报告:
shell
newman run ihrm项目_27.postman_collection.json -e 测试环境.postman_environment.json -r htmlextra --reporter-htmlextra-export ihrm测试报告.html
