【接口测试】9_iHRM项目实战 _Postman实现单接口和业务场景测试

文章目录

  • 一、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 批量运行测试用例

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

3.2 添加员工

3.2.1 分析

添加员工依赖:登录成功 返回的"令牌"。

3.2.2 登录成功-提取令牌(重点)

  1. 发送 http 登录请求,在响应体中 得到 data值。

  2. 将 data值 拼接 "Bearer" 和 "空格" ,组成一个 合法令牌。

  3. 将 拼接后的令牌 写入到 环境变量中。(在 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 登录成功-提取令牌(重点)

  1. 发送 http 登录请求,在响应体中 得到 data值。

  2. 将 data值 拼接 "Bearer" 和 "空格" ,组成一个 合法令牌。

  3. 将 拼接后的令牌 写入到 环境变量中。(在 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

  1. 获取 添加员工成功的 data下面的 id值。

  2. 将 员工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)
  3. 发送 Send 之前,注意先修改 手机号,保证手机号唯一!

  4. 点击 "眼睛" 图标 查看。

3.3.4 查询员工-测试用例实现

1、查询员工成功

yacas 复制代码
1、将测试用例中的,请求方法、URL、请求头,写入到 postman对应请求中。

2、:target 对应 的 路径参数,填充上 "员工id"的值。

{{员工id环境变量}} 

2、查询员工失败

四、业务场景测试

4.1 员工管理业务场景

登录 - 添加 - 查询 - 修改 - 删除 - 查询员工列表

yacas 复制代码
业务场景测试:测试方法有先后顺序
登录 - 添加 - 查询 - 修改 - 删除  - 查询员工列表

4.1.1 分析

整个员工管理模块中,所有接口,一共有两大类依赖关系:

  • 添加、查询、修改、删除员工 接口,依赖 登录成功 返回的"令牌"。
  • 查询、修改、删除员工接口,依赖 添加员工成功 返回的 "员工id"。

4.1.2 登录成功-提取令牌(重点)

  1. 发送 http 登录请求,在响应体中 得到 data值。

  2. 将 data值 拼接 "Bearer" 和 "空格" ,组成一个 合法令牌。

  3. 将 拼接后的令牌 写入到 环境变量中。(在 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 批量执行测试用例

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

五、生成测试报告

1、准备工作:

  • 修改 添加员工 的手机号
  • 导出 测试用例集.json
  • 导出 环境文件.json
yacas 复制代码
将 环境文件,与测试用例集文件,放置到同一个目录下

2、使用命令,生成测试报告:

shell 复制代码
newman run ihrm项目_27.postman_collection.json -e 测试环境.postman_environment.json -r htmlextra --reporter-htmlextra-export ihrm测试报告.html
相关推荐
测试界的小码农4 小时前
【 AI Agent 软件测试实战(05):任务规划与状态管理,让 Agent 学会拆解复杂测试任务】
人工智能·测试工具
和粒科技2 天前
热重分析仪TG 309 Libra Classic
测试工具
光谱SpectrAI4 天前
打开 Postman 会改 Codex?Windows 上 4 处都没有
postman
yz_aiks4 天前
Postman 自动给 Claude Code、Codex、Cursor 装插件怎么查和卸载:本机实测 5 处痕迹(Postman 12.34)
安全·postman·ai编程·开发工具·claude code
螺丝钉tina8 天前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化
梧桐1689 天前
14天、31个缺陷、28个测试脚本—用 Claude Code 完成第三方软件测试
人工智能·测试工具
mewowaBc9 天前
postman使用细则
测试工具·postman·偏差
光影62710 天前
Unittest单元测试基础速记
测试工具·单元测试·json·测试覆盖率
xie8810180210 天前
正则里的点号不匹配换行:多行模式的开关
运维·服务器·测试工具
东舟技术11 天前
从人工目检到AI视觉:智能座舱瞬态故障的自动化捕获与溯源
功能测试·测试工具·自动化