目录1、前言

随着测试技术的发展,整个测试行业对测试人员的要求也越来越高,最近这几年测试人员除了进行普通的功能测试以外,都开始要求做接口测试等,做接口测试的软件有很多,有开源的、收费的、自研的等等。本篇介绍一款比较出色的,并且功能强大的接口测试工具-Postman。

2、简介

Postman最早是Google的一个插件存在的,之后团队对工具的定位,主攻PC端的开发与优化,现在的Google插件已经很少再使用了,Postman虽然是一个商用软件,但是对于普通用户来说,基本功能已完全够用了。

Postman从最初设计上就是为接口测试而生的,所以在程序员中广泛使用,在开发调试网络程序时跟踪一些网络请求,能够高效的帮助后端开发人员独立进行接口测试。

Postman的主要功能:

官方网址:

https://www.postman.com/

3、安装

官网下载地址:

https://www.postman.com/downloads/

下载后,默认安装即可。

postman的使用过程(Postman快速上手)(1)

4、基础功能

Postman接口测试时,分为两大区域:请求区域、响应区域。

postman的使用过程(Postman快速上手)(2)

4.1、请求区域

postman的使用过程(Postman快速上手)(3)

1、Params:请求参数。

2、Authorization:身份验证,主要用来填写用户名密码,以及一些验签字段。

3、Headers:请求的头部信息。

4、Body:post请求时要带的参数,里面放一些key-value键值对。

5、Pre-request Script:可以让你在请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。

6、Tests:通常用来写测试验证,它是运行在请求之后验证返回是否正确。支持JavaScript语法。

7、Settings:请求时的一些设置。

4.2、响应区域

postman的使用过程(Postman快速上手)(4)

1、Body:响应主体。

2、Cookies:响应Cookies。

3、Headers:响应的头部信息。

4、Test Results:如果在请求区域的Tests里添加测试验证,执行接口后的测试结果会在此选项卡中呈现出来。

4.3、环境变量与全局变量

Postman支持将参数等设置为环境变量或全局变量,方便接口调用。

环境变量:是一组变量,允许您切换请求的上下文。

全局变量:是工作区中始终可用的一组变量。

如图所示:可以看到已创建2个环境变量(DEMO、DEV)

postman的使用过程(Postman快速上手)(5)

查看DEV环境变量,环境变量只有选择DEV时,才可以调用DEV区域里的变量。

而Globals全局变量在Collections集合里的接口都可以进行调用。

postman的使用过程(Postman快速上手)(6)

4.4、导入与导出

4.4.1、导入

切换到想要导入的项目区域(如My_Postman2),点击Import。

postman的使用过程(Postman快速上手)(7)

选择要导入的接口或变量等,点击Import导入。

postman的使用过程(Postman快速上手)(8)

导入成功。

postman的使用过程(Postman快速上手)(9)

4.4.2、导出

1、导出接口

选择指定的Collections集合,点击Export。

postman的使用过程(Postman快速上手)(10)

默认选择即可,点击Export进行导出。

postman的使用过程(Postman快速上手)(11)

2、导出环境变量与公共变量

点击Environments环境

postman的使用过程(Postman快速上手)(12)

选择指定的环境变量,点击Export进行导出。

postman的使用过程(Postman快速上手)(13)

选择指定的公共变量,点击Export进行导出。

postman的使用过程(Postman快速上手)(14)

所有导出的文件,都是.json格式为后缀的。

postman的使用过程(Postman快速上手)(15)

4.5、主题设置

1、打开右上角的Settings。

postman的使用过程(Postman快速上手)(16)

2、点击Themes,Postman应用程序可设置浅色或深色主题。

postman的使用过程(Postman快速上手)(17)

3、主题效果。

浅色主题:

postman的使用过程(Postman快速上手)(18)

深色主题:

postman的使用过程(Postman快速上手)(19)

5、定义接口

定义API接口,并对API接口进行管理。

1、点击进入APIs模块,创建定义接口。

postman的使用过程(Postman快速上手)(20)

2、输入接口名称、版本号、选择指定的架构信息等。

postman的使用过程(Postman快速上手)(21)

3、添加完成后,可对该API接口定义进行完善,并可进行对API接口的开发与测试等后续操作。

postman的使用过程(Postman快速上手)(22)

6、模拟接口

由于Postman自带Mock Servers(模拟接口服务)功能,所以本篇请求的模拟接口示例都会用此功能来进行创建。

1、创建模拟接口

点击进入Mock Servers模块

postman的使用过程(Postman快速上手)(23)

开始创建要模拟的接口

postman的使用过程(Postman快速上手)(24)

给所创建的Mock Servers起名,如demo_mock。

postman的使用过程(Postman快速上手)(25)

创建完成后,模拟接口的URL地址也自动生成了。

postman的使用过程(Postman快速上手)(26)

同时也自动添加到环境变量里。

postman的使用过程(Postman快速上手)(27)

2、维护与增强模拟接口内容

接口链接已经创建完成,但是还需要对链接的参数与返回值等进行自定义。

进入到Collections集合里,对模拟接口进行增强。

postman的使用过程(Postman快速上手)(28)

选中每个接口,添加示例。

postman的使用过程(Postman快速上手)(29)

例如:示例demo/getpost2

postman的使用过程(Postman快速上手)(30)

如图所示:模拟接口全部自定义完成。

postman的使用过程(Postman快速上手)(31)

7、请求接口

模拟接口已经创建完成并添加了请求与返回示例,接下来开始创建请求接口进行接口测试。

新建Collections集合,并取名为demo_request。

postman的使用过程(Postman快速上手)(32)

开始创建请求接口进行接口测试。

postman的使用过程(Postman快速上手)(33)

7.1、Get请求(无参数)

创建请求:get1,可以看到请求模拟的接口,返回成功。

postman的使用过程(Postman快速上手)(34)

注:因为创建模拟接口时,接口URL地址已经自动添加到环境变量里,此时接口URL地址也可以引用变量的方式进行请求。提取变量时,直接使用{{变量名}}即可。

postman的使用过程(Postman快速上手)(35)

7.2、Get请求(有参数)

创建请求:get2,可以看到请求模拟的接口,返回成功。

postman的使用过程(Postman快速上手)(36)

7.3、Post请求(form-data)

创建请求:post1,可以看到请求模拟的接口,返回成功。

postman的使用过程(Postman快速上手)(37)

7.4、Post请求(x-www-form-urlencoded)

创建请求:post2,可以看到请求模拟的接口,返回成功。

Headers信息头添加Content-Type:application/x-www-form-urlencoded

postman的使用过程(Postman快速上手)(38)

7.5、依赖请求

有2个接口getpost1(Get请求,无参数)、getpost2(Post请求,传JSON)

先请求getpost1,之后再请求getpost2;但是getpost2接口的请求参数里有依赖getpost1接口的返回值,所以在请求getpost1后,将返回值提取到环境变量或公共变量里,之后getpost2进行引用即可。

1、创建请求:getpost1

在请求Tests里编写脚本:

// 获取body中返回的参数,将参数设置为公共变量 varjsonData=JSON.parse(responseBody); pm.globals.set("global_token",jsonData.mytoken);

运行后可以看到请求模拟的接口,返回成功。

postman的使用过程(Postman快速上手)(39)

提取的值已经保存到公共变量里。

postman的使用过程(Postman快速上手)(40)

2、创建请求:getpost2

Headers信息头添加Content-Type:application/json

在请求Tests里除了添加提取变量外,增加一些断言语句。

postman的使用过程(Postman快速上手)(41)

请求Tests里编写的脚本:

// 获取body中返回的参数,将参数设置为环境变量 varjsonData=JSON.parse(responseBody); pm.environment.set("getpost2_environment",jsonData.mytoken); // 获取body中返回的参数,将参数设置为公共变量 varjsonData=JSON.parse(responseBody); pm.globals.set("getpost2_global",jsonData.mytoken); // 获取返回中头信息参数,将参数设置为公共变量 varvalue=postman.getResponseHeader("Content-Type"); pm.globals.set("getpost2_global_type",value); // 打印日志 console.log(responseBody); // 断言状态码200 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // 断言响应内容 varjsonData=JSON.parse(responseBody); tests["Check respose msg value"] =jsonData.msg==="操作成功"; // 断言响应内容-包含 pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("成功"); }); // 断言响应内容-等于 pm.test("Body is correct", function () { pm.response.to.have.body({ "code": 0, "msg": "操作成功", "mytoken": "eyJhbGciOiJIUzI1NiJ9123" }); });

运行后可以看到请求模拟的接口,返回成功。

注:提取变量时,直接使用{{变量名}}即可。

postman的使用过程(Postman快速上手)(42)

断言结果:

postman的使用过程(Postman快速上手)(43)

8、运行集合

选择指定的Collections集合,点击Run collection。

postman的使用过程(Postman快速上手)(44)

设置后,点击运行。

postman的使用过程(Postman快速上手)(45)

运行所选中的所有接口,并显示测试结果。

postman的使用过程(Postman快速上手)(46)

9、监控器

监视器允许你定期运行Collections集合,以检查其性能和响应。

1、创建监控器

postman的使用过程(Postman快速上手)(47)

填写监控器名称、选取要监控的Collections集合、选取环境变量、设置运行频率等等。

postman的使用过程(Postman快速上手)(48)

监控器创建完成。

postman的使用过程(Postman快速上手)(49)

2、可以等待它按照计划运行,也可以手动触发运行(点击Run)。

如图所示:运行后的效果,状态为健康的。

postman的使用过程(Postman快速上手)(50)

10、历史记录

所有的操作记录都会在History里显示出来。

postman的使用过程(Postman快速上手)(51)

公众号:AllTests软件测试

,