基于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
相关推荐
用户83562907805115 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
用户83562907805116 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
你好潘先生1 天前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师1 天前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码1 天前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf1 天前
FastAPI 如何连接 MySQL
后端·python
apocelipes2 天前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户8356290780512 天前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent2 天前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m6252 天前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python