基于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
相关推荐
lxw18449125148 分钟前
vue 基础学习
前端·vue.js·学习
是十一月末9 分钟前
opencv实现KNN算法识别图片数字
人工智能·python·opencv·算法·k-近邻算法
程序员shen16161123 分钟前
注意⚠️:矩阵系统源码开发/SaaS矩阵系统开源/抖音矩阵开发优势和方向
java·大数据·数据库·python·php
菜鸟xiaowang25 分钟前
Android.bp java_library_static srcs配置
开发语言·python
青春男大1 小时前
java队列--数据结构
java·开发语言·数据结构·学习·eclipse
Ven%1 小时前
DeepSpeed的json配置讲解:ds_config_zero3.json
人工智能·python·ubuntu·json·aigc
墨楠。1 小时前
C语言基础学习记录-文件管理
学习
m0_548514771 小时前
Python毕业设计选题:基于Python的社区爱心养老管理系统设计与实现_django
python·django·课程设计
stormjun1 小时前
基于 Python Django 的农产品销售系统的研究与实现
开发语言·python·django·农产品·农产品销售
南宫生2 小时前
力扣-数据结构-4【算法学习day.75】
java·数据结构·学习·算法·leetcode