接口调试工具Postman: 安装与使用
1 安装
1.1下载地址: https://www.postman.com
1.2 界面介绍
步骤:
1 设置请求方式 2 输入接口地址
3 发送请求 4 查看响应结果
2 发送不同数据类型的请求
请求头内容:
根据接口文档填写,如若没有,可先不填写
请求体内容:
2.1 字符串 GET
2.2 表单 POST
2.3 json POST
3 断言
- 通过代码自动判断实际运行结果是否与测试用例预期结果一致(pass/fail)
- 使用JavaScript编写,写在Postman【tests】标签里
- 断言结果出现在【Test Results】标签中
- 常用断言代码
(1)断言响应状态码
(2)断言Json数据
(3)断言包含指定字符串
(4)断言等于指定字符串
精确查找:
pm.test("Body is correct",function(){
pm.response.to.have.body("response_body_string");
});
模糊查找:
(5)断言响应头标签中包含Content-Length
默认是Content-Type,只需要替换所需要的响应头参数名
pm.test("Content-Type is present",function() {
pm.response.to.have.header("Content-Type");
});
pm.test("Content-Length is present",function() {
pm.response.to.have.header("Content-Length");
});
![](https://img-blog.csdnimg.cn/20210413044057401.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
4 环境变量与全局变量
4.1 定义
全局变量:全局变量是全局唯一的,不可重复定义的变量
环境变量:属于某个环境中的变量,在某一个环境中变量不可重复定义
环境:开发环境、测试环境、生产环境
4.2 设置
4.2.1 手动设置
当环境变量与全局变量重名后,优先使用环境变量
全局变量:
![](https://img-blog.csdnimg.cn/2021041701551443.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
![](https://img-blog.csdnimg.cn/20210417015929704.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
环境变量:
![](https://img-blog.csdnimg.cn/20210417020015957.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
4.2.2 代码设置
![](https://img-blog.csdnimg.cn/20210417013833642.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
5 请求前置脚本
5.1 定义
- 写在Pre-request Script标签中,在请求发送前要执行的脚本
-
5.2 使用场景
- 请求参数中包含一个随机数或时间戳
- 请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
6 关联
6.1 定义
- 当请求之间存在依赖关系,比如一个请求的输入参数是另一个请求返回的数据,则需要用关联
- 1 在前置接口中保存并传递需要的数据
2 将数据保存在全局变量或环境变量中
3 在后续接口中,直接使用保存在全局变量或环境变量中的参数值
6.2 实现
请求1: 获取天气接口
请求2: 调用百度搜索接口
![](https://img-blog.csdnimg.cn/20210417023030766.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
7 读取外部文件实现参数化
7.1 应用原理
针对于某个接口,如果有大量的测试数据需要批量验证,可以把测试数据保存到数据文件中,通过参数化的方式来实现。
7.2 数据文件常见形式
7.2.1 csv
- 逗号分隔值/字符分隔值文件格式
- 纯文本形式存储表格数据
- 具体例子
7.2.2 json
- 写在大括号里
- 最外层可用中括号将一条一条数据包起来
- 具体例子
7.3 实现过程
步骤:
1 准备测试数据文件
2 设置参数
(1)在请求中使用,直接通过{{变量名引用}}
(2)在断言中使用,需要借助Postman内置的data方法来使用
3 选择数据文件进行批量执行
4 结果检查
![](https://img-blog.csdnimg.cn/20210428035632808.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)
![](https://img-blog.csdnimg.cn/20210428035642104.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01heV9NYXZpcw==,size_16,color_FFFFFF,t_70#pic_center)