基本功能操作
常用断言
定义:postman 断言借助 JavaScript - js 语言编写代码,自动判断预期结果与实际结果是否一致。( 注意断言 代码写在 Tests 的标签中)
断言响应状态码
断言响应体是否包含某个字符串(Response body: Contains string)
断言响应体是否等于某个字符串(对象)(Response body: Is equal to a string)
断言JSON数据(Response body: JSON value check)
断言响应头(Response headers: Content-Type header check**)
全局变量和环境变量
全局变量
概念:在 Postman 全局生效的变量,全局唯一。
设置变量语法:`pm.globals.set(“全局变量名”,全局变量的值)`
获取变量语法:`var 接收值的变量 = pm.globals.get(“全局变量名”)`
请求参数获取 (postman界面获取)语法:`{{全局/环境变量名}}` --》是两个花括号
环境变量
概念:在 特定环境(生产环境、开发环境、测试环境)下,生效的变量,在本环境内唯一。
变量的设置和获取和全局变量语法相同,将'globals' 改为 ‘environment'
Postman 请求前置脚本 >响应后置脚本也类似
在 send 按钮点击后,请求前置脚本代码,第一时间被执行。在 postman 内部实际 http请求之前。
时间戳的概念:对应绝对时间,从 1970年1月1日00:00:00 (在postman中) 到现在 所经历的秒数。
案例 > 调用百度首页接口,传时间戳给服务器
postman关联
概念:应用于 多个 http请求之间,有数据关联、或依赖关系时。
实现步骤:A接口 依赖 B接口 的数据
- 1. 向B接口发送http请求,获取数据
- 2. 将数据 设置 至 全局变量(环境变量)中
- 3. A 接口 获取 全局变量(环境变量)中 数据值,进行使用。
批量执行测试用例
Postman读取外部数据文件(参数化)- 实现“数据驱动”
使用场景
当 http请求,使用的 数据有较高相似度,相同的请求时,考虑使用参数化(将数据组织到数据文件中)。
数据文件类型
CSV:
- 优点:数据组织形式简单,适用于大量数据的场合。
- 缺点:
1. 不支持 bool类型数据。(bool值会被添加双引号,变成字符串类型)
2. 不支持 多参、少参、无参、错误参数 的接口测试。
3. 不支持复杂数据类型。(如 嵌套字典、列表等)
JSON:
- 优点: 1. 支持 bool 类型。 2. 支持 多参、少参、无参、错误参数。 3. 支持复杂数据类型。 - 缺点: 对于相同数据量,json数据文件大小远大于 CSV文件。
导入外部数据文件 >以’CSV文件‘ 为例
1. 创建 xxx.csv 文件。
2. 将数据写入到 csv文件中。
3. 在 Postman 中,选中使用数据文件的 用例集,导入数据文件。
使用newman生成测试报告
步骤:
1. 批量执行测试用例集。(确认无误)
2. 导出 Export 用例集。(得到 xxxx.json文件)
3. 在 终端 中 执行命令,生成测试报告
# 现在 终端中,测试一下 newman run xxxx.json# 完整的命令 newman run xxxx.json -e 环境变量文件 -d 外部数据文件 -r html --reporter-htm]-export 测试报告名.htm]# 示例: newman run 批量执行测试用例.postman_collection.json -r htm]--reporter-htm]-export 我的第一个测试报告.htm1如果添加 -r htm] 就报错!说明:newman-reporter-htm] 安装失败!