一、postman 断言
1.1 简介
借助 postman,代替人工,主动判断,预期后果和理论后果是否统一
1.2 断言罕用办法
1.2.1 断言响应状态码
// 断言响应状态码
pm.test("断言响应状态码是 200", function () {pm.response.to.have.status(200);
});
pm:示意 postman 的一个实例 (对象)
test() postman 实例调用的测试方法。这个办法有两个参数。参 1:字符串数据。内容,用来断言完结给出 提示性 文字信息,能够任意批改。不参加断言。参 2:是一个匿名函数调用。pm.response.to.have.status(200); 的意思是:postman 的响应后果中应该含有 状态码 200。其中的 200 为预期后果,能够批改。
1.2.2 断言响应体蕴含字符串
// 断言响应体中蕴含字符串
pm.test("断言响应体中蕴含字符串", function () {pm.expect(pm.response.text()).to.include("10000");
});
1.2.3 断言 json 响应体数据
// 断言 json 指定 key 的值
pm.test("断言 success 的值 true", function () {var jsonData = pm.response.json();
pm.expect(jsonData.success).to.eql(true);
});
1.3 断言的工作原理
二、postman 关联
2.1 关联的概念
当 接口 与 接口 之间有 数据依赖 关系时,解决这种依赖关系所应用的技术,叫关联。阐明依赖:一个接口返回的数据,被另外一个接口 发送申请时应用
举例:1. 登录接口,返回的令牌数据,被 增加员工 接口作为申请头应用。2. 增加员工胜利,返回员工 id,能够被 查问、批改、删除员工接口,在 url 中应用
2.2 关联的实现步骤
-
A 接口响应后果,被 B 接口依赖:
- 发送 A 接口申请,失去响应后果
- 将后果中关联数据,存入 公共容器(全局变量、环境变量)
- B 接口,从 公共容器中提取数据,发送 B 接口申请。
2.3 外围代码
- 获取响应后果。var jsonData = pm.response.json()
-
将数据设置到 全局变量 中。
* 全局变量,在整个 postman 随处都能应用。// 语法:pm.globals.set("全局变量名", 全局变量值) // 示例 pm.globals.set("glb_age", 22)
-
将数据设置到 环境变量中。
环境变量,在 特定的环境下,能力应用的变量。因而,必须先创立环境,再创立、应用环境变量。
// 语法:pm.environment.set("环境变量名", 环境变量值) // 示例 pm.environment.set("env_age", 88)
-
在 申请参数(URL、申请头、申请体)中 获取 变量值。
// 示例 {{glb_age}} 或 {{env_age}}
-
在 tests 中获取变量值
pm.environment.get("环境变量名") pm.globals.get("全局变量名")
三、postman 参数化
3.1 简介
将 http 申请须要的数据,和断言数据,组织到一个 文件中。从 postman 导入文件,实现 http 申请发送、断言。
3.2 利用场景
针对同一个接口,组织 N 条 不同的 测试用例。数据格式完全一致的。实用 参数化。
3.3 数据文件
3.3.1 CSV 文件
长处:数据组织格局简略
毛病:* 不反对 bool 类型
* 不反对简单数据类型
* 不反对参数测试
利用场景:量简略数据,不须要做参数测试
3.3.2 json 文件
长处:* 反对 bool 类型。* 反对简单数据类型 (列表,字典等)。* 反对参数测试
毛病:雷同的数据量,json 文件要远大于 csv 文件。利用场景:测试数据量绝对较少。须要进行 参数测试
3.4 读取文件
- 依据 应用地位 不同,有两种办法。
- 代码(Tests)中应用