目录:
- Potman断言
- Postman断言简介
- Postman常用断言
- 断言响应状态码
- 断言包含某字符串
- 断言JSON数据
- Postman断言工作原理
- Postman关联
- 简介
- 实现步骤
- 核心代码
- 创建环境
- 案例1
- 案例2
- Postman参数化
- 简介
- 数据文件简介
- 编写数据文件
- CSV文件
- JSON文件
- 导入数据文件到postman
- 读取数据文件数据
1.Potman断言
Postman断言简介
- 让Postman工具代替人工自动判断预期结果和实际结果是否一致
- 断言代码书写在Tests标签页中。查看断言结果Test Results标签页
Postman常用断言
断言响应状态码
Status code: Code is 200
断言包含某字符串
Response body: Contains string
断言JSON数据
Response body: JSON value Check
Postman断言工作原理
2.Postman关联
简介
- 当接口和接口之间,有依赖关系时,需要借助postman关联技术,来实现。
- 如:登录接口返回的令牌数据,被添加员工接口依赖。
- 添加员工接口返回员工id,被查询员工接口依赖。
实现步骤
假定:接口B产生的数据,被接口A依赖。
- 发送接口B请求,获取响应数据。
- 将响应数据,放入公共容器(全局变量、环境变量)中
- 接口A从公共容器中,提取数据,发送请求。
核心代码
创建环境
- 全局变量:在整个postman中都可以使用的变量。不需要单独创建环境。
- 环境变量:在特定的环境下,才能使用的变量。需要给此变量创建单独的环境。
案例1
使用postman关联,实现下面案例
- 从获取天气接口,http;://www.weather.com.cn/data/sk/101010100.html
- 获取返回结果中的城市名称
- 调用百度搜索接口: http://www.baidu.com/S?wd=北京,把获取到的城市名称,如:北京,作为请求参数
思路:
- 发送获取天气请求,获取响应结果
- 从响应结果中,拿到城市名,存入全局变量
- 百度搜索接口从全局变量中,取城市名,发送搜索请求。
Tests代码:
案例2
- 使用postman关联技术,实现添加员工接口。
- 登录成功,返回的“令牌"被添加员工接口依赖。
- 思路:
- 1.发送登录请求(必须登录成功),获取响应结果
- 2.从json响应结果中,提取data值。拼接上“Bearer ”前缀。
- 注意:Bearer单词不能拼错,首字母必须大写,只有一个空格
- 3.将拼接无误的令牌,存入环境变量。从“眼睛”图标查看。
- 4.添加员工接口,从环境变量中,提取令牌。设置到请求头中,作为Authorization的值。
- 5.填写添加员工接口其他信息(post、URL、请求体),发送请求。
3.Postman参数化
简介
- 什么是参数化:
- 将测试数据,组织到数据文件中,通过脚本的反复迭代,使用不同的数据,达到测试不同用例的目标。
- 应用场景:
- 一般在测试同一个接口的不同测试点时,只有测试数据不同。考虑使用参数化。
数据文件简介
- CSV:
- 优点:数据组织格式简单
- 缺点:
- 1.不能测试bool类型。因为postman读取csv后,将所有非数值类型数据,自动添加""变为字符串
- 2.不能存储复杂数据类型(元组、列表、字典)。
- 3.不能实现参数测试。
- 应用场景:数据量较大,数据组织格式简单。
- JSON:
- 优点:
- 1.可以测试bool类型
- ⒉能使用复杂数据类型
- 3.可以实现参数测试。
- 缺点:相同数据量,json文件要远大于csv文件。
- 应用场景:数据量较少,数据组织格式复杂。需要进行参数测试!
- 优点:
编写数据文件
CSV文件
JSON文件
导入数据文件到postman
读取数据文件数据
理论
根据使用位置不同,有两种方法。
- 第一种:请求参数(请求行、请求头、请求体)中,使用数据文件中的数据
- csv文件:{{字段名}};json文件:{{键名}
- 第二种:代码(Tests)中,使用数据文件中的数据
- 使用postman内置的关键字data,索引字段名或键名
- csv文件:data.字段名;json文件: data.键名
案例
需求:批量查询手机号所属运营商,校验运营商数据正确性
接口: http:/lcx.shouji.360.cn/phonearea.php?number=13012345678
测试数据:
手机号:13012345678 运营商:联通 手机号:13800001111 运营商:移动 手机号:18966778899 运营商:电信