postman是一个可扩展的API开发和测试协同平台工具,它主要提供了抢到的接口测试功能,主要正对的是HTTP/HTTPS协议的接口测试;
为什么要了解postman?
因为postman在接口测试工具中是用以接口测试,包含了前后端联调postman也是最流行的;
postman的作用
需要调试/测试接口是HTTP/HTTPS的接口的时候都是可以使用的;
合集(collection)
#添加合集
1.点击collection==>点击"+"号==>输入合集的名字;
2.点击collection==>点击"new"==>选择"collection"==>输入合集的名字;
请求
#添加请求
1.找到合集点"..."==>选择"Add Reuest"==>输入请求的 名字==>输入请求的url地址;
2.点击请求旁边的 "+"---->点击"Save"--->选择合集保存
#发起请求
请求
请求头在 headers 里面
请求参数在 Params 或者 Body 里面
响应
响应头在 Headers 里面
提供了状态码,响应时间,响应数据大小的展示
响应的内容在Body里面
缓存在Cookies里面
Get请求
1.无参数的Get请求
1.将请求地址复制到url地址栏
2.请求方式选择 Get
3.点击Send发送请求
2.带参数的Get请求
1.将请求地址复制到url地址栏
2.请求方式选择 Get
3.在Params里面填写请求的参数
4.多个参数写在Params里面,地址栏参数部分使用 “? ”分割,多个参数之间使用“ & ”连接
特点:
1.get请求没有请求体,请求的参数会自动拼接到URL地址上面
2.在get请求中会把参数进行urlencode编码
%:%25
空格:%20
Post请求
1.x-www-form-urlencodede
常见的传参格式
# 步骤
1.复制URL地址到地址栏
2.修改请求方式为 Post
3.选择 Body--->x-www-form-urlencodeed
4.填写参数和对应的值(Key-Value)
2.json格式
在公司里面最常用的传参格式
# 步骤
1.填写测试的URL地址 "http://www.httpbin.org/post"
2.修改请求方式为Post
3.选择 Body---->raw--->JSON格式
4.在输入框内填写JSON格式的传参内容
JSON格式
JSON数组:列表
JSON对象:字典
JSON嵌套:列表和字典之间的嵌套
3.form-data格式
# 步骤
1.填写测试的URL地址 "http://www.httpbin.org/post"
2.修改请求方式为Post
3.选择Body--->form-data
4.填写键值对参数,点击 Send 发起请求
和其他的传参方式的区别在于:
headers里面的Content-Type多了一个boundary
在实际的工作中,boundary由开发来提供
4.binary格式
上传文件的时候使用该格式
# 步骤
1.填写测试的URL地址 "http://www.httpbin.org/post"
2.修改请求方式为Post
3.点击Body-binary--->select file 选择上传的文件
4.点击Send发送请求
上传的是图片文件时会进行base64编码,该编码方式可逆
环境变量
在实际的工作中,测试人员会测试多个环境下的功能代码
测试环境(Test)
预发布环境(UAT)
除了服务地址或者端口不一样,其他的地址全部一致
生产环境:一般只做功能的验收,所有都是正向流程,不影响用户的流程
# 环境变量添加
1.点击到Environments里面---->点击"+"号
2.输入环境变量名
3.添加环境变量:
Variable:变量名称
Initial:初始变量值
Current:当前变量值
# 使用环境变量
0.在右上角选择环境变量
1.在需要使用的位置加上 {{变量名称}}
断言(Tests)
1.状态码
点击 Status code:code is 200
// 断言状态码为200
pm.test("断言状态是200", function () {
pm.response.to.have.status(200);
});
2.开发自检字段
点击 Response Body:JSON value check
// 断言开发自检字段
pm.test("断言开发的自检字段status", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.status).to.eql(10020);
});
3.具体数据值
点击 Response Body:JSON value check
// 断言具体的数据值
pm.test("断言查询结果必须是小米发布会", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data[0].name).to.eql("小米发布会");
});
to.eql:等于
to.include:包含关系
to.contain:包含关系
参数化
1.先准备测试数据 注意必须是CSV的格式
准备好之后使用notepad++或者记事本另存打开修改编码方式为 utf-8
2.在参数里面加上 {{表头}}
3.在断言里面使用参数化文件内的数据:"data.表头"
4.点击合集的 '...' 选择 Run collections
5.选中需要参数化执行的接口,点击"select file"上传参数化文件
6.点击执行
导入导出
# 导出
点击合集旁边的 '...'--->选择Export--->选择存储路径
# 导入
点击Import--->选择"File",点击"Upload Files"--->选择相应的文件上传