【接口测试】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
相关推荐
天才测试猿2 小时前
Postman常见问题及解决方法
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
Lilixxs19 小时前
wireshark LLDP 协议抓包获取 M580 PLC 网口地址
网络·测试工具·wireshark·plc·施耐德·lldp·m580
玩转数据库管理工具FOR DBLENS21 小时前
企业数据架构选型指南:关系型与非关系型数据库的实战抉择
数据库·测试工具·mysql·oracle·架构·nosql
微尘hjx1 天前
【目标检测软件 02】AirsPy 目标检测系统操作指南
人工智能·测试工具·yolo·目标检测·计算机视觉·目标跟踪·qt5
Louis Maos1 天前
Postman新手该如何进行测试
测试工具·postman
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 34--基础知识 9--文件上传功能
前端·python·测试工具·ui·pytest
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 35--二次封装MySQL数据库连接操作
python·学习·测试工具·pytest
少云清2 天前
【接口测试】7_Postman _Postman参数化
测试工具·接口测试·postman·参数化