1、postman的作用
验证接口参数传递的正确性
验证功能实现的正确性
验证输出结果的正确性
验证对各种异常情况的容错处理的完整性和合理性
2、安装下载
网址:https://www.postman.com/downloads/
安装:一直下一步
3、操作步骤
新建请求–选择请求方式–输入URL–输出参数–保存–运行–查看结果
4、get请求
get请求的参数放在Params中,参数会显示在URL中
5、post请求
参数放在body中
表单格式 – form-data
json格式 – raw
文件格式 – form-data-file
6、关于cookie的设置与使用
设置生成的cookie会自动存放到cookies管理器中,再对相同域名进行请求的时候,会自动把cookie信息添加到headers中
可以对cookie管理器中存储的cookie信息进行修改
7、断言
结果和预期相比,判断是否一致
断言使用JS语言编辑
断言编辑位置:Tests
常用的断言
// 验证状态
pm.test("验证相应状态码为200", function () {
pm.response.to.have.status(200);
});
// 验证响应中包含的内容
pm.test("验证响应中包含正确的字符串", function () {
pm.expect(pm.response.text()).to.include("aaa");
});
// 验证json结构中Key对应的value
pm.test("验证响应中的URL是否正确", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.url).to.eql("https://httpbin.ceshiren.com/post");
});
// 验证响应时间是否小于某个值
pm.test("验证响应时间是否小于预期的时间", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
8、环境变量
作用在当前环境中,切换环境后变量不起作用
创建环境变量:manage environments – add –
参数设置:
1.手动设置
2. 脚本设置:Pre-request Script 和 Tests 中都可以进行设置
// 设置环境变量的参数
pm.environment.set("variable_key", "variable_value");
9、全局变量
作用在整个环境中,无论是否切换环境都有效
创建全局变量:manage environments – Globals –
参数设置:
1.手动设置
2.脚本设置:Pre-request Script 和 Tests 中都可以进行设置
// 设置全局变量的参数
pm.globals.set("variable_key", "variable_value");
10、动态变量
{{$timestamp}} //生成当前时间的时间戳
{{$randomInt}} //随机生成0-1000的整数
{{$guid}} //随机生成字符串
{{$randomEmail}} // 随机邮箱
{{$randomUserName}} //随机用户名
11、接口关联
下一个接口需要使用上一个接口返回的数据。
适用场景:登录接口获取的token值会作为后面接口的参数,每次登录获取到的token都不一样,需要实时传递
步骤:获取需要的返回数据 – 存入环境/全局变量 – 关联接口,调用变量
实现步骤
1.选择环境变量,运行登录接口,获取到返回值
2.点击Tests,输入代码。再次运行,此时就把token值存入了环境变量中
// 把responseBody转为json字符串
var data = JSON.parse(responseBody);
// 设置环境变量token,供后面的接口引用
//test是环境变量中token的变量名;data.token需要根据具体返回值来确定层级关系
pm.environment.set("test", data.token);
3.关联接口,调用变量
12、数据驱动
详解及案例说明
相同的测试脚本使用不同的测试数据,数据的改变从而驱动自动化吃的执行,最终引起测试结果的改变
步骤:
1.在Tests中编写测试脚本
根据需求来编写脚本。通常会判断状态码是否为200
2.创建测试数据,并保存到文件中
测试数据保存未CSV格式或者json格式
3.运行脚本,循环调用测试数据
选择对应的测试集 – run – 设置循环次数、间隔、选择保存测试数据的文件 – 勾选需要运行的接口 – run
4.验证结果
13、Pre-request Script 是在该接口执行之前先执行的
Tests中的所有脚本都是在接口执行完成后再执行的
14、清除环境变量
// 格式
pm.environment.unset(key)
pm.environment.unset("token") // 清除token值
15、输出到控制台
// 括号内的就是想要输出的内容
console.log()
16、复制字段或者接口的时候需要注意在最末尾是否有空格
17、postman默认只能进行HTTP的接口测试,如果要进行HTTPS的接口测试需要开启SSL CV证书(SETTINGS – General – SSL certificate verification – on),并且在Certificates中添加客户端证书