postman接口测试操作过程(全程软件测试九十一)(1)

为什么要做接口测试?

接口的由来: 连接前后端以及移动端。

postman接口测试操作过程(全程软件测试九十一)(2)

因为不同端的工作进度不一样,所以需要对开始出来的接口进行接口测试。做接口测试的好处:

  1. 节约时间,缩短项目成本
  2. 提高工作效率
  3. 提高系统的健壮性
Postman简介

Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中。旨在简化测试和开发中的API工作流。

Postman 工具有 Chrome 扩展和独立客户端,推荐安装独立客户端。

Postman 有个 workspace 的概念,workspace 分 personal 和 team 类型。Personal workspace 只能自己查看的 API,Team workspace 可添加成员和设置成员权限,成员之间可共同管理 API。

当然个人使用一般是不登录的,因为登录之后会自动将你的测试历史数据保存到账户里,你可以登陆网页端进行查看。

因为API的很多数据是很敏感的,有的含有Token,或者就是一些私密信息,虽然Postman自己也强调说这样很安全,不会私下窥探用户的信息之类的,但是还是至少做一点有效的防范吧,自己不上传,因为网络并没有绝对的安全。

所以应该每次测试之后会将数据(Case)保存在本地,下次使用或者换设备的情况下将数据拷贝过来又可以继续使用了。

为什么选择Postman?

如今,Postman的开发者已超过1000万(来自官网),选择使用Postman的原因如下:

如何下载安装Postman?

postman接口测试操作过程(全程软件测试九十一)(3)

postman接口测试操作过程(全程软件测试九十一)(4)

postman接口测试操作过程(全程软件测试九十一)(5)

如何使用Postman?

下图是Postman的工作区间,各个模块功能的介绍如下:

postman接口测试操作过程(全程软件测试九十一)(6)

如何处理GET请求?

Get请求用于从指定的URL获取信息,不会对端点进行任何更改。在这里我们使用如下的URL作为演示:

https://JSONplaceholder.typicode.com/users

在Postman的工作区中:

  1. 选择HTTP请求方式为GET
  2. 在URL区域输入链接
  3. 点击 “Send”按钮
  4. 你将看到下方返回200状态码
  5. 在响应Body正文中应该有10个用户结果,表明您的测试已经成功运行。

postman接口测试操作过程(全程软件测试九十一)(7)

注意: 在某些情况下,Get请求失败可能由于URL无效或需要身份验证。

如何处理POST请求

Post请求与Get请求不同,因为存在用户向端点添加数据的数据操作。使用之前GET请求中相同数据,现在添加我们自己的用户。

Step 1)创建一个新请求 (下图选成了GET,失误,应该是POST)

postman接口测试操作过程(全程软件测试九十一)(8)

Step 2 ) 在新请求中

  1. 选择HTTP请求方式为POST
  2. 在URL区域输入 链接:https://jsonplaceholder.typicode.com/users
  3. 切换到Body选项

postman接口测试操作过程(全程软件测试九十一)(9)

Step 3) Body选项

  1. 选中raw选项
  2. 选择json

postman接口测试操作过程(全程软件测试九十一)(10)

Step 4) 复制前面GET请求返回的json内容的第一节

更改id为11,更改name以及uesrname和email

{ "id": 11, "name": "Krishna Rungta", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kattie Turnpike", "suite": "Suite 198", "city": "Lebsackbury", "zipcode": "31428-2261", "geo": { "lat": "-38.2386", "lng": "57.2232" } }, "phone": "024-648-3804", "website": "ambrose.net", "company": { "name": "Hoeger LLC", "catchPhrase": "Centralized empowering task-force", "bs": "target end-to-end models" } }

postman接口测试操作过程(全程软件测试九十一)(11)

注意: 检查Body里用到的JSON格式很重要,以确保数据正确。

检测的工具比如:https://jsonformatter.curiousconcept.com/

postman接口测试操作过程(全程软件测试九十一)(12)

Step 5 )发送请求

  1. 完成上述的信息输入,点击Send按钮
  2. Status:应该是201,显示为创建成功
  3. 在Body里返回数据

postman接口测试操作过程(全程软件测试九十一)(13)

如何将请求参数化?

数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求,这样会事半功倍,简洁明了。

这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。

参数通过使用双花括号创建:{{sample}}。比如下面的请求:

postman接口测试操作过程(全程软件测试九十一)(14)

Step 1) 创建一个参数化get请求

  1. 将HTTP请求设置为GET
  2. 输入URL: https://jsonplaceholder.typicode.com/users;将链接的域名部分替换为参数,例如{{url}}。请求url现在应该是{undefined{url}}/users。
  3. 点击Send按钮。

应该没有响应,因为我们没有设置参数的源,如下图:

postman接口测试操作过程(全程软件测试九十一)(15)

Step 2) 使用环境设置所需的参数

  1. 点击眼睛图标
  2. 单击Edit将该变量设置为可在所有集合中使用的全局环境。

postman接口测试操作过程(全程软件测试九十一)(16)

Step 3) 环境变量–variable

  1. 将名称设置为url,该url为https://jsonplaceholder.typicode.com
  2. 点击保存按钮

postman接口测试操作过程(全程软件测试九十一)(17)

Step 4) 如果看到下面截图的样式,请单击Close

postman接口测试操作过程(全程软件测试九十一)(18)

Step 5 ) 回到你的Get请求页面,然后单击发送Send按钮,Get请求应该就会返回结果了,如下图:

postman接口测试操作过程(全程软件测试九十一)(19)

注意:请确保所有的参数都有准确的源数据,不管是环境变量还是数据文件,以避免出错。

如何创建Postman Tests

Postman Tests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。

通常从pm.test开始。它可以与断言相比较,验证其他工具中可用的命令。

Step 1) 创建一个Get请求

  1. 切换到Tests选项,右边是代码片段选项。
  2. 从右边的代码片段选项里面选中 “Status code: Code is 200”
  3. JS代码就自动出现在窗口中

postman接口测试操作过程(全程软件测试九十一)(20)

Step 2) 点击发送请求按钮。测试结果就显示出来了,如下图:

postman接口测试操作过程(全程软件测试九十一)(21)

Step 3) 回到Tests选项卡,让我们添加另一个测试。这次我们将比较预期结果和实际结果。

在右边的SNIPPETS区域选择"Response body:JSON value check"选项,我们将检查Leanne Graham是否拥有userid 1。

postman接口测试操作过程(全程软件测试九十一)(22)

Step 4)

  1. 将代码中的“Your Test Name”替换为“Check if user with id1 is Leanne Graham”,以便测试名称确切描述我们想测试的内容。
  2. 使用jsonData[0].name代替jsonData.value; 获取路径,在获取结果之前检查Body。因为Leanne Graham是userid 1,所以jsonData在第一个结果中,这个结果应该从0开始。如果你想获得第二个结果,那么对后续结果使用jsonData[1] 即可。
  3. 在eql中,输入“Leanne Graham”

pm.test("Check if user with id1 is Leanne Graham", function () { var jsonData = pm.response.json(); pm.expect(jsonData[0].name).to.eql("Leanne Graham"); });

postman接口测试操作过程(全程软件测试九十一)(23)

Step 5) 点击发送请求,可以看到你的请求之后测试结果中有两项显示测试通过。

postman接口测试操作过程(全程软件测试九十一)(24)

注意:有不同种类的测试可以在Postman中创建。尝试探索这个工具,看看哪些测试适合你实际测试。

如何创建测试集合

集合在组织测试套件中扮演着重要的角色。它可以被导入和导出,使得在团队之间共享集合变得很容易。我们学习如何创建和执行集合。

Step 1) 单击页面左上角的New按钮,如下图:

postman接口测试操作过程(全程软件测试九十一)(25)

Step 2) 选择Collection(集合). 创建collection窗口弹出,如下图.

postman接口测试操作过程(全程软件测试九十一)(26)

Step 3) 输入所需的集合名称和描述,然后单击create。现在已经创建了一个集合。

postman接口测试操作过程(全程软件测试九十一)(27)

Step 4 ) 和前面的Get请求一样,点击保存。

postman接口测试操作过程(全程软件测试九十一)(28)

Step5 )

  1. 选择Postman 测试集合(Test Collection)。
  2. 点击保存Postman Test Collection

postman接口测试操作过程(全程软件测试九十一)(29)

Step 6) Postman test collection现在应该包含了一个请求,如下图:

postman接口测试操作过程(全程软件测试九十一)(30)

Step 7) 重复上述的Step4-5,继续创建请求,这样,测试集合就应该有2个请求了,如下图。

postman接口测试操作过程(全程软件测试九十一)(31)

如何使用Collection Runner 运行集合

有两种方式来运行一个集合,即Collection Runner和Newman。

Step 1) 单击页面顶部导入按钮旁边的Runner按钮,如下图。

postman接口测试操作过程(全程软件测试九十一)(32)

Step 2) Collection Runner页面应该出现如下所示。以下是对各个字段的描述

postman接口测试操作过程(全程软件测试九十一)(33)

Step 3) 做如下设置,运行你的测试集合

  1. 选择Postman测试集合-集合迭代次数为3
  2. 设置延迟为2500毫秒
  3. 点击Start Run按钮

postman接口测试操作过程(全程软件测试九十一)(34)

Step 4) 单击Run按钮后将显示Run结果页。根据延迟的不同,你应该在测试执行的同时看到显示的结果。

  1. 一旦测试完成,你就可以看到测试状态是通过还是失败,以及每个迭代的结果。
  2. 你将看到Get请求的Pass状态;
  3. 由于我们没有任何Post测试,所以应该会出现请求没有任何测试的消息。

postman接口测试操作过程(全程软件测试九十一)(35)

可以看出在请求中进行测试是多么重要,这样你就可以验证HTTP请求状态是否成功,以及是否创建或查询到了数据。

如何使用Newman运行集合

运行集合的另一种方式是通过Newman。Newman和Collection Runner之间的主要区别如下:

安装Newman并运行Collection,步骤如下:

Step 1) 下载并安装NodeJs: http://nodejs.org/download/

Step 2) 打开命令行窗口并输入下面命令:

npm install -g newman

安装后 如下图:

postman接口测试操作过程(全程软件测试九十一)(36)

Step 3 )

Newman安装好之后,让我们回到Postman的workspace。在Collections框中,单击三个点 … 会出现新的选择选项,可看到Export选项,如下图:

postman接口测试操作过程(全程软件测试九十一)(37)

Step 4 )选择导出集合,默认使用推荐的集合版本,比如此处是v2.1,然后单击导出:

postman接口测试操作过程(全程软件测试九十一)(38)

Step 5 ) 选择你想要保存的地址之后点击保存,这里建议专门新建一个文件夹来存放你的Postman tests。

Step 6 ) 另外还需要导出我们的环境(enviroment)。单击全局环境下拉菜单旁边的eye图标,选择JSON格式下载。选择你想要的位置,然后单击Save。最好将环境放在与Step5 导出的集合相同的文件夹中。

postman接口测试操作过程(全程软件测试九十一)(39)

Step 7 ) 导出Environment 到集合文件夹后,现在回到命令行,将目录更改为保存集合和环境的位置。

cd C:\Users\Asus\Desktop\Postman Tests

Step 8 ) 使用下面的命令运行你的测试集合:

newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json

运行的结果应该如下图:

postman接口测试操作过程(全程软件测试九十一)(40)

关于Newman的一些基础指导如下:

1、只运行集合(如果没有环境或测试数据文件依赖关系,则可以使用此选项。)

newman run <collection name>

2、运行集合和环境(参数-e 是environment)

newman run <collection name> -e <environment name>

3、使用所需的编号运行集合的迭代。

newman run <collection name> -n <no.of iterations>

4、运行数据文件

newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name>

5、设置延迟时间。(这一点很重要,因为如果由于请求在后台服务器上,完成前一个请求时没有延迟时间直接启动下一个请求,测试可能会失败。)

newman run <collection name> -d <delay time>

,