目录
目录
1、登录模块
- 登录成功
- 登录失败
- 用户名为空
- 用户名错误
- 用户名有特殊字符
- 用户名太长
- 用户名太短
- 密码错误
- 密码为空
- 密码过长
- 密码过短
- 密码有特殊字符
- 含有用户名和密码俩参数
- 少参
- 多参
- 参数错误
- 无参
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参数化-生成测试报告
-
批量执行测试用例(借助数据文件)(8中内容)
-
导出 测试用例集 (建议与 数据文件 放在一起)
-
执行生成测试报告的命令(cmd)
bash
newman run 用例集名称.json -d 数据文件名.csv/.json -r html --reporter-html-export
报告名称.html