Postman 接口测试入门使用手册

前言

Postman 是在测试领域里非常流行的接口测试工具。
本文介绍该工具从安装,到录制用例,再到可以流畅的进行用例回放的整个过程。后面还介绍了一些比较实用的方法,比如数据关联、自动更新 cookies。
希望本文从浅入深的不断引导可以帮助到小白可以快速的掌握工具。

一、工具安装

① 获取工具

获取地址: Postman 官网下载

Postman 官网下载页面

② 账号登录

刚进来需要创建个新的账户。

注册账户后进入 Postman 首页

进入首页。

Postman 主界面

③ 抓包工具获取

获取地址: Fiddler 官网

Fiddler 官网下载页面

填一下信息就能下载了。

填写信息下载 Fiddler

二、接口测试

① 创建一个目录

创建一个收集夹,用来存放我们录制的接口用例。

在 Postman 中创建收藏夹目录
收藏夹目录创建完成

目录下面可以添加文件夹来进行分类管理,右键来进行文件夹添加。

右键新建文件夹分类管理
新建的文件夹

② 编写脚本

录制接口用例,可以直接点击右上角的录制请求 request,也可以直接点击右上角。

点击右上角新建请求 request

输入用例名,下面可以选择要保存的文件位置,我保存在了我刚才创建的文件夹里。

输入用例名并选择保存位置

请求方式有很多种,是那种形式取决于头部显示的请求方式,上面的加号可以添加新的请求。

请求方式选择与加号新建请求

③ 抓取请求

我们利用 fiddler 工具来抓取请求。抓取到的请求查看它的 Raw 格式,可以看到上面是表头参数,下面是 json 表体参数。我们把抓取到的值填到我们建立的用例里。

Fiddler 抓包查看 Raw 格式内容

④ 填写用例头部

头部参数的第一条填在上面,其它的参数填到下面。通过 Bulk Edit 可以快捷进行头部内容的填写。

用例头部填写与 Bulk Edit 快捷填写

点击 Key-Value Edit 可以切回来。

切换回 Key-Value Edit

⑤ 填写用例主体内容

选择 raw 形式,把表体内容粘进来,再选择 JSON 格式。

用例主体选择 raw 并粘贴 JSON

⑥ 测试

点击 send,看返回值是不是对的,图中可以看出我返回了正常的 JSON 数据,证明测试成功了。不确定返回的对不对,可以在正常浏览器里做同样的操作,与开发者工具的 network 看返回值做对比。

点击 send 返回正常 JSON 数据

一般 json 返回数据会有个状态,也可以通过这个状态看有没有成功。

通过返回状态判断测试是否成功

⑦ 用例回放

点击左上角的 runner 进入回放页面。

点击左上角 runner 进入回放页面

我们选择必要的脚本,进行回放即可。

选择脚本进行用例回放

⑧ 设置断言、检查点

我们测试时看 response 返回值,成功的话一般会有标志,我们把这个标志设置为检查点,来看我们的接口是不是成功的。

通过返回状态判断测试是否成功

点击上面导航栏的 test,然后在右侧选择 Response body: Contains string,然后会多出一些代码,在我圈住的位置把要检测的文本内容填进去。
注意: 如果检测的文本里包含双引号,前面需要加一个正斜杠 ” \” 来转义。

在 test 中设置检查点

给大家展示两种常用的设置检查点的方式。

// 断言类型1 - 检查返回值
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("\"success\":true");
});

// 断言类型2 - 检查状态码
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

三、高级设置

① cookies获取

cookies 过一段时间会失效,新增操作如果不取到登录操作返回的 cookies,一段时间后就不能用了。
新建一个环境,用于保存环境变量,每次回放让它自动把新的 cookies 存储到环境变量里。

新建环境用于保存环境变量

后续我们设置完环境变量就能在这里看到。

设置完成后可见的环境变量列表

可以看到 set-cookis 里面的值就是我们需要的 cookie 信息。

set-cookie 中的 cookie 信息

把上面的环境选择为我们创建的环境。
输入我们提取 cookie 的代码,然后发送下请求。

// 获取返回值头部set-cookie的内容
var jsondata = postman.getResponseHeader("set-cookie");

// 通过;号来分割数据,转化为数组形式
data = jsondata.split(";");

// 设置环境变量,data数组里的第一个值即我们需要的cookie
postman.setEnvironmentVariable("Cookie",data[0]);
输入提取 cookie 的代码并发送请求

如果设置对的话,测试一下,可以看到我们需要的 cookie 值已经提取出来了。

cookie 值成功提取到环境变量

然后我们来引用前面的 cookie 环境变量,发送请求就成功了。

引用 cookie 环境变量后请求成功

② 数据关联,提取上一个请求的数据

提交动作往往需要该单据保存时生成的 id,这时我们就需要进行上下文数据关联才能提交成功。

// 把responseBody转为json字符串
var data = JSON.parse(responseBody);

// 把templetid提取出来,存到环境变量里
pm.environment.set("templetid", data.data.templetid);

示例中:我想要提取我圈住的这个 json 值。

提取圈住的 json 值 templetid

可以看到环境变量里已经有这个值了。

环境变量中已存入 templetid

③ 地址栏引用全局变量

设置个全局变量,然后让地址栏引用。
可以直接在环境里添加全局变量。

在环境里添加全局变量

两个大括号括起来,就可以引用全局变量了。
还能通过代码来添加全局变量。

// 添加全局变量
pm.globals.set("url", "http://test.nc-cloud.com");
用代码添加全局变量并在地址栏引用

body 的 raw 引用变量也采用双括号的方式。

body 的 raw 中双大括号引用变量

④ json数据格式化

点击 beautify 可以用来格式 json 数据,方便我们观察数据、处理数据。

点击 beautify 格式化 json 数据
上一篇
下一篇