postman入门级
1.postman基本操作
1.1 创建collection和文件夹
1.2 新建请求request
2.postman发送HTTP请求
2.1发送GET请求
- 不带参数的GET请求
- 带参数的GET请求
- 1.get带参数请求,请求参数在地址中,和请求地址使用
?
分割,参数与参数之间使用&
分割 - 2.get带参数请求,参数值经过urlencoded编码
- 3.在postman中,get带参数请求,请求参数填写在
Params
中- key: 参数名称
- value: 参数值
- description: 注释(可选项)
- 1.get带参数请求,请求参数在地址中,和请求地址使用
2.2发送POST请求
postman中发送post请求,请求参数填写在body中
根据请求参数类型不同分为以下4种
-
x-www-form-urlencoded默认格式
- 1.当接口文档没有明确说明post请求的参数类型,默认x-www-from-urlencoede
- 2.将参数值进行urlencoded编码
- 3.参数与参数之间使用
&
分割
-
raw
-
JSON格式
# 1.json数组 ---->list # 2.json对象 ---->dict # 3.json嵌套 [{},{},{}] {key:{},key2:[{}]}
-
-
form-data
- 1.使用boundary分割请求体
- 2.请求体开始和结束以及请求参数之间使用boundary分割
-
binary
- 1.Content-Type取决于传入文件的类型
- 2.将文件作为请求内容
2.3发送put和delete请求
- 1.put请求和post一致
- 2.delete和get请求一致
2.4get请求和post请求区别
- 1.请求体
- get请求没有请求体,参数跟在地址后面
- post请求有请求体
- 2.post请求根据请求参数类型分为4种
- 3.请求参数大小
- get请求请求参数不能大于255k
- post请求理论上没有大小限制
3.postman断言
主要判断内容: 接口返回值是否正确
Tests标签断言使用:使用内置函数
#1. 断言HTTP状态码,使用postman中内置函数: Status Code: code is 200
pm.test("msg:断言状态码", function () {
pm.response.to.have.status(200);
}); //此断言方法不适合公司接口返回值设计
#2.断言返回值,使用postman内置函数 Response body: JSON value check(返回值类型为json格式)
#2.1 断言code码
pm.test("断言返回值中的code是否为500200", function () {
var jsonData = pm.response.json(); // 获取返回值中所有内容
pm.expect(jsonData.code).to.eql(500200); // 比较返回值中某个字段值的预期结果和实际结果
});
#2.2 断言指定字段id是否为1
pm.test("断言id是否为1", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.id).to.eql(1);
});
#2.2 其他断言形式
pm.test("断言名字包含韩冉", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data[0].name).to.contains("韩冉"); // 结果包含,模糊搜索结果
});
pm.test("断言购买数量小于5", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data[0].num).to.below(5); // 结果小于,返回结果边界值判断
});
/**
* 在断言过程中:
* 1.当断言字段属于列表,在上级添加对应的索引
* 2.断言除了eql相等之外,还有包含,大于,小于
* 包含: contains
* 小于: below
* 大于: above
*/
4.新建环境变量
4.1新建环境
4.2添加变量
- 1.打开环境管理器 Manage Environment
- 2.选择对应的环境名称
- 3.编辑/新建变量
- 4.点击Update保存
4.3 变量引用
postman中引用变量: {{变量名}}
4.4 使用test新增和使用变量
#1 设置变量,使用postman内置函数: set an environment variable
pm.test("获取token", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(200); //断言返回值code
var token = jsonData.data.token; //声明token变量
pm.environment.set("token", token); //保存变量至环境变量
});
#2 在test中使用环境变量,使用postman内置函数: get an environmet variable
pm.test("验证订单状态修改成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.status).to.eql(parseInt(pm.environment.get("status_after"))); //断言返回值状态是否与环境变量中的状态一致
});
5.postman参数化
1.新建一个csv格式的文件,并且在notepad++将csv文件进行转码 UTF-8
2.文件中表头,一般情况下是接口参数名称
3.在postman中将对应接口做修改
- 将请求参数的值写成csv文件表头的对应变量名
- 修改完成后记得保存
4.在collection中点击批量执行
5.选择需要执行的接口
6.添加csv文件到postman中
- Data select file按键
7.如果没有自动识别文件中的条数,手动修改iterations值
8.点击Run
注意:pass+fail=在接口中设置断言的个数
5.1创建CSV文件
- 1.文件第一行写变量名称:变量名有实际含义
- 2.如果CSV文件中有中文,进行转码,转为UTF-8
5.2设置postman中请求
- 1.添加的请求可以正常访问
- 2.设置完成后,保存
- 3.在请求中,引用变量使用=={{变量名}}==
- 4.在Tests中,引用变量使用data.变量名
5.3执行
- 1.在集合/文件夹右侧点击
→
- 2.点击
Run
- 3.选择需要执行的接口
- 4.点击Select file 选择CSV文件
- 5.点击run执行
5.4结果查看
pass数量+fail数量=用例条数×断言个数
可以在控制台查看接口执行详情:View—>Show Postman Console
6.postman关联
- 在tests标签中将返回值的字段值获取出来,保存到postman的环境变量中去
// 获取返回值中的phone
/**
* 先断言再获取
*
*/
pm.test("请求成功", function () {
pm.response.to.have.status(200);
});
pm.test("断言电话", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.phone).to.eql("13800138000");
var phone = jsonData.data.phone; // 获取phone值
// 将获取的phone值写入到环境变量中,使用内置函数 Set an Environment variable
pm.environment.set("phone", phone);
// variable_key: 在postman环境变量中的变量名;variable_value:变量值
});
7.导入和导出
7.1导出
- postman文件夹导出
- 1.在文件夹右侧点击
。。。
选择Export - 2.点击Export
- 3.选择保存路径
- 1.在文件夹右侧点击
- postman环境变量导出
- 1.进入postman–>Manage Environments
- 2.选择需要导出的环境变量—>点击DownLoad
- 3.选择保存路径
7.2导入
- 1.点击Import
- 2.选择文件
- 3.导入成功
8.其他操作
1.前置处理器Pre-requestScript
- 在发送请求之前执行
- 当点击send之后
- postman会先检测前置处理器中是否有代码
- 一般情况下用例生成测试数据,加密数据或者生成随机数据