一、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)中应用