【接口测试】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
相关推荐
DevilSeagull1 小时前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc
弹简特8 小时前
【精通Postman接口测试】01-基础理论+安装使用+项目实战+接口关联(万字图文,零基础保姆级)
测试工具·postman·接口关联
武帝为此1 天前
【Selenium 屏幕截图】
python·selenium·测试工具
武帝为此1 天前
【Selenium 执行 JavaScript】
javascript·selenium·测试工具
llilian_161 天前
晶体频率测试仪 破解晶振品控核心难题:晶体频率网络测试仪深度解析 晶体网络分析仪
网络·功能测试·单片机·嵌入式硬件·测试工具·51单片机
深念Y1 天前
从 Playwright/Selenium 到指纹浏览器:浏览器自动化技术的进阶之路
selenium·测试工具·自动化·浏览器·账号·无头浏览器·指纹浏览器
Johnstons2 天前
Wireshark ExpertInfo是什么?一文讲透异常分级、适用场景、和传统抓包阅读的区别与排查标准
网络·测试工具·wireshark·es
我的xiaodoujiao2 天前
API 接口自动化测试详细图文教程学习系列16--项目实战演练3
python·学习·测试工具·pytest
我的xiaodoujiao2 天前
API 接口自动化测试详细图文教程学习系列15--项目实战演练2
python·学习·测试工具·pytest
LT10157974442 天前
2026年低代码自动化测试平台选型指南:降低测试落地门槛
测试工具·低代码·自动化