基于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
相关推荐
老胖闲聊3 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1183 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
曹勖之3 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
lyaihao4 小时前
使用python实现奔跑的线条效果
python·绘图
恰薯条的屑海鸥4 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
喜欢吃燃面5 小时前
C++刷题:日期模拟(1)
c++·学习·算法
ai大师5 小时前
(附代码及图示)Multi-Query 多查询策略详解
python·langchain·中转api·apikey·中转apikey·免费apikey·claude4
小小爬虾5 小时前
关于datetime获取时间的问题
python
2301_797604246 小时前
学习记录:DAY32
学习
蓝婷儿6 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习