PostMan
生命周期
Postman的生命周期分为3部分
- 请求前
这个阶段PostMan主要是执行请求前的请求,或者参数数据的准备及执行工作。
例如:Pre-request Script
- 请求并完成请求
这个阶段要执行请求的参数填充并执行完请求,拿到请求返回值
例如:Get post…
- 请求完成后
这个阶段可以检查请求返回的数据。
也可以执行其他请求.
例如:Tests
发送请求
URL参数
填写目标接口的URl 例如
params参数
顾名思义
填写Key:value格式的数据
例如key=Name,vaule=小明
支持引用变量
例如:在Pre-request Script中写
pm.environment.set("Name", "小明");
那么可以在params参数中这样表示
key: Name;
vaule:{{Name}}
Headers参数
与params一致,只不过填写的信息会放入Http请求头信息中
Body参数
针对Post请求方法可以填写
常见的是发送Json字符串
例如:
{
name:“小明”,
age:18
}
Pre-request Script参数
这个参数填写的是发送请求之前的脚本设置
目前支持多种设置参数的方式
例如:
全局变量:pm.globals.set("variable_key", "variable_value");
环境变量:pm.environment.set("variable_key", "variable_value");
文件数据变量设置;pm.environment.set("variable_key", data.datakey);
Tests参数
这个参数填写执行在收到请求返回后需要执行的代码
检查响应主体是否包含字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
检查响应主体是否等于字符串
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
检查JSON值
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
内容类型存在
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
响应时间小于200毫秒
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
状态代码是200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
代码名称包含一个字符串
pm.test("Status code name has string", function () {
pm.response.to.have.status("Created");
});
成功的POST请求状态代码
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([201,202]);
});
集合测试
集合测试就是说的比较官方,更通俗易懂的是参数化测试。
也就是说我通过txt.cvs.json文件的数据驱动我需要的get post请求参数化运行,这样可以达到一个请求高度复用的效果。
具体可以参照官网文档
测试脚本变量
PostMan内置很多有用的函数变量
可以直接使用相关的资料可以查阅官方文档
但是值得注意的是
- 全局
- 集合参数
- 环境
- 数据
- 本地
果当前活动环境中的变量与全局变量共享其名称,则环境变量将优先。
换句话说,全局变量被环境变量覆盖,环境变量被数据变量覆盖 (仅在集合运行器中可用 )。
快速接入Swagger
1、打开可访问api的Swagger网址
2、F12打开 找到<select id="select_baseUrl" name="select_baseUrl">
3、点击展开 查看<option>
复制Value的值 。
4、打开postMan 点击Import、选择Import Form link 点击粘贴。
5、点击Import 完成快速导入。