基于SaaS平台的iHRM管理系统测试学习

目录

目录

1、登录模块

2、员工管理模块

3、Postman+newman软件的安装,学习

1、Postman的使用

2、Postman断言

3、全局变量和环境变量

4、请求时间戳

5、Postman关联

6、批量执行测试用例

7、Postman生成测试报告

8、Postman读取外部数据文件(参数化)

1、CSV

2、Json

3、参数的使用

4、参数化案例-用手机号找运营商​​​​​​​



1、登录模块

  • 登录成功
  • 登录失败
  1. 用户名为空
  2. 用户名错误
  3. 用户名有特殊字符
  4. 用户名太长
  5. 用户名太短
  6. 密码错误
  7. 密码为空
  8. 密码过长
  9. 密码过短
  10. 密码有特殊字符
  11. 含有用户名和密码俩参数
  12. 少参
  13. 多参
  14. 参数错误
  15. 无参

2、员工管理模块

  • 员工的增加
  • 员工的删除
  • 员工的修改
  • 员工查询
  • 员工列表的显示

3、Postman+newman软件的安装,学习

Postman+newman

1、Postman的使用

新增测试用例集,新增功能模块,新增请求(1,2中的内容,包括请求方法,请求url,请求行,请求头,请求体),测试用例集的导出,测试用例集的导入

2、Postman断言

1、断言状态码(重要)

2、断言包含某个字符串(contains string)

3、断言等于某个字符串(equal string)

4、断言Json数据(重要)

python 复制代码
/* 举例:response.json();
{
    "success": true,
    "code": 10000,
    "message": "操作成功!",
    "data": "95c78d75-721c-40fb-b2d5-742fea42cbd5"
}
*/

5、断言响应头 header

6、Postman断言原理

3、全局变量和环境变量

javascript 复制代码
#全局变量设置
 pm.globals.set("glb_age", 100)
#全局变量获取
 var ret = pm.globals.get("glb_age")  // ret 的值为 100
#环境变量设置
 pm.environment.set("env_age", 99)
#环境变量获取
 var ret = pm.environment.get("env_age")  // ret 的值为 99
请求参数获取(postman界面获取)
 {{env_age}}

4、请求时间戳

1)获得时间戳,传递给变量

2)将变量设为全局变量

3)查看全局变量是否设置成功(点击send ,查看右上角眼睛)

4)在请求参数(界面)中使用全局变量

5)在 postman的 控制台,查看 发送的 http请求 view->show Postman Console

5、Postman关联

应用于多个http请求之间,有数据关联和依赖关系时,将前一个接口获取的数据传递给下一个接口。

A,B接口依赖数据(登录接口与添加员工接口)登录接口->获得令牌->添加员工信息

1)B发送http请求,获得数据

2)将数据设为全局变量

3)A接口获得全局变量的值,进行http请求

6、批量执行测试用例

7、Postman生成测试报告

1)批量执行测试文件(确认无误)

2)批量导出测试文件(得到 xxxx.json文件)

3)利用Newman代码在终端中执行命令,生成测试报告

javascript 复制代码
    ```shell
    # 现在 终端中,测试一下。
    newman run xxxx.json
    
    # 完整的命令
    newman run xxxx.json -e 环境变量文件 -d 外部数据文件 -r html 
--reporter-html-export 测试报告名.html
    
    # 示例:
    newman run 批量执行测试用例.postman_collection.json -r html 
--reporter-html-export 我的第一个测试报告.html
    
    # 如果添加 -r html 就报错!说明: newman-reporter-html 安装失败!
    ```

8、Postman读取外部数据文件(参数化)

注意:文件读取时会逐行读取!!!

应用:当http请求,使用的数据有较高相似度,相同的请求时,考虑使用参数化

1、CSV

1)创建 xxx.csv 文件。

2)将数据写入到 csv文件中(保存时右下角编码类型设置为utf-8)。

  • 第一行 写入 的是 数据对应的 "字段名"
  • 从第二行向后依次是对应的数值,数据间用 英文逗号隔分。

3)在 Postman 中,选中使用数据文件的 用例集,导入数据文件。

2、Json

1)创建 xxx.json 数据文件

2)在 数据文件中,按json 语法写入json数据。postman要求,json格式的数据文件,数据内容的最外层,必须是 [ ] 。内部所有的数据用 {} 存储。( 建议:使用 json.cn 在线网站编写。)
3)在 Postman 中,选中使用数据文件的 用例集,导入数据文件。

  • 同CSV

3、参数的使用

  • 第一种:**请求参数**(请求行、请求头、请求体)中
    **使用 {{}}** 包裹 csv 文件 字段名 或 json 文件中的 key
  • 如: {{username}} 或 {{password}}
  • 第二种:**代码**(断言、请求前置脚本)中
  • 需要借助 postman 提供的 **关键字data** 点 csv 文件的字段名 或 json文件的 key
  • 如: data.username 或 data.password

4、参数化案例-用手机号找运营商

1)创建用例集->创建查找手机号的http请求->点击run collection

2)导入.csv文件或者.json文件

3)在断言界面3.2格式,在请求参数界面使用3.1格式,点击run 参数化用例集,完成用手机号找运营商

9、Postman参数化-生成测试报告

  1. 批量执行测试用例(借助数据文件)(8中内容)

  2. 导出 测试用例集 (建议与 数据文件 放在一起)

  3. 执行生成测试报告的命令(cmd)

bash 复制代码
    newman run 用例集名称.json -d 数据文件名.csv/.json -r html --reporter-html-export 
 报告名称.html
相关推荐
UtopianCoding2 分钟前
什么是NoteDiscovery?Obsidian 的开源平替?
python·docker·开源
我一定会有钱22 分钟前
pytest基础
python·测试工具·测试用例·pytest
杰米不放弃36 分钟前
AI大模型应用开发学习-23【20251217】
学习
Hi~晴天大圣39 分钟前
if 变量和if not 变量用法之布尔真假值规则
python·if
老歌老听老掉牙40 分钟前
Vericut 5轴机床MCH文件解析与构建指南
xml·python·vericut
BoBoZz191 小时前
Glyph2D 同一个图形根据点云的输入产生不同位置的输出
python·vtk·图形渲染·图形处理
一笑code1 小时前
pycharm vs vscode安装python的插件
vscode·python·pycharm
liwulin05062 小时前
【PYTHON-YOLOV8N】yoloface+pytorch+cnn进行面部表情识别
python·yolo·cnn
雍凉明月夜2 小时前
c++ 精学笔记记录Ⅲ
c++·笔记·学习
(●—●)橘子……2 小时前
记力扣1471.数组中的k个最强值 练习理解
数据结构·python·学习·算法·leetcode