Postman接口测试工具详解

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ)

目录

引言

Postman简介

Postman的特点

Postman的下载与安装

Postman的基本使用

发送第一个请求

响应结果查看

Postman的高级功能

接口测试流程

断言

环境变量和全局变量

动态参数

Mock测试

实例演示

[获取鉴权码(Access Token)接口](#获取鉴权码(Access Token)接口)

编写请求

[提取Access Token](#提取Access Token)

编写接口测试用例

批量执行测试用例

[Postman的Collection Runner与Tests集成](#Postman的Collection Runner与Tests集成)

Postman的环境和全局变量管理

[Postman的Pre-request Script和Tests Script](#Postman的Pre-request Script和Tests Script)

[Postman的Mock Server](#Postman的Mock Server)

Postman的Monitor功能

[Postman Monitor功能详解](#Postman Monitor功能详解)

[1. 创建Monitor](#1. 创建Monitor)

[2. 监控执行](#2. 监控执行)

[3. 查看Monitor结果](#3. 查看Monitor结果)

[4. 通知与警报](#4. 通知与警报)

[Postman API与集成](#Postman API与集成)

[1. Postman API](#1. Postman API)

[2. 集成与自动化](#2. 集成与自动化)


引言

在现代软件开发中,接口测试是不可或缺的一环。接口测试确保不同系统之间的数据交换准确无误,保障软件产品的质量和稳定性。Postman作为一款强大的接口测试工具,因其简单易用、功能丰富而广受开发者喜爱。本文将详细解析Postman接口测试工具,包括其特点、安装、基本使用、高级功能等,并通过实例代码演示如何使用Postman进行接口测试。

Postman简介

Postman的特点

Postman是一款API开发辅助工具,它支持HTTP协议的所有请求方式,如GET、POST、PUT、DELETE等。其特点主要包括:

  1. 简单易用的图形化用户界面:Postman提供了直观易用的界面,使得HTTP请求的构建、发送和结果查看变得十分简单。
  2. 支持多种请求方式:除了支持标准的HTTP请求方式外,Postman还支持文件、图片、视频等多种类型的数据请求。
  3. 支持接口文档的生成和管理:Postman允许开发者将接口请求组织成集合(Collection),并生成详细的接口文档,方便团队内部共享和管理。
  4. 支持团队协作:Postman支持团队之间同步接口数据,团队成员可以共享接口请求和测试用例。
  5. 支持Mock测试:Postman提供了Mock服务,允许开发者在开发阶段模拟后端接口响应,提高前端开发效率。

Postman的下载与安装

Postman的安装非常简单,用户可以直接从官网下载对应平台的安装包,双击安装即可。安装完成后,用户需要注册并登录Postman账号,以便使用更多高级功能。

Postman的基本使用

发送第一个请求

以百度翻译API为例,演示如何使用Postman发送一个GET请求。

  1. 创建Collection:首先,在Postman中创建一个Collection,用于管理接口请求。点击左上角的"New"按钮,选择"Collection",输入Collection名称后保存。

  2. 创建接口请求 :在Collection下,点击"Add Request"按钮,创建一个新的接口请求。填写请求的名称(如"BaiduTranslate"),选择请求方式(GET),并输入请求地址(如https://fanyi-api.baidu.com/api/trans/vip/translate)。

  3. 设置请求参数 :在"Params"标签页中,添加请求参数,如q=applefrom=autoto=zh等。

  4. 发送请求:点击"Send"按钮,发送请求。在"Body"标签页中查看响应结果。

响应结果查看

发送请求后,Postman会在下方显示响应结果,包括状态码、响应头、响应体等信息。通过这些信息,我们可以验证接口返回的数据是否符合预期。

Postman的高级功能

接口测试流程

接口测试流程通常包括以下几个步骤:

  1. 获取接口文档:从开发或产品经理处获取接口文档,了解接口地址、请求方式、请求参数、响应数据等信息。
  2. 编写测试用例:根据接口文档,编写接口测试用例,包括正常情况和异常情况。
  3. 执行接口测试:使用Postman等接口测试工具执行测试用例,记录测试结果。
  4. 提交并跟踪bug:将测试中发现的问题提交给开发团队,并跟踪bug的修复情况。

断言

断言是接口测试中非常重要的一个环节,它用于验证接口返回的数据是否符合预期。Postman支持多种断言方式,如状态码断言、响应体内容断言等。

  • 状态码断言:验证响应的状态码是否为200(表示请求成功)。
  • 响应体内容断言:验证响应体中是否包含特定的字符串或数据。

环境变量和全局变量

Postman支持环境变量和全局变量,它们可以在请求中动态引用,方便在不同环境下进行测试。

  • 环境变量:用于存储与特定环境相关的配置信息,如测试环境、生产环境的URL地址。
  • 全局变量:用于存储跨环境共享的配置信息,如API密钥等。

动态参数

Postman支持动态参数,可以在请求中引用环境变量或全局变量的值。这样,我们就可以根据不同的测试环境动态修改请求参数,提高测试的灵活性和效率。

Mock测试

Mock测试是Postman提供的一个非常实用的功能,它允许我们在开发阶段模拟后端接口响应,从而加速前端开发进程。通过创建Mock服务,我们可以定义接口的响应数据和响应延迟,模拟真实的接口交互场景。

实例演示

获取鉴权码(Access Token)接口

假设我们需要通过某个接口获取访问令牌(Access Token),该接口需要发送POST请求,并携带用户名和密码作为请求体数据。

编写请求

在Postman中,我们按照以下步骤来编写这个获取Access Token的请求:

  1. 选择请求方式:在请求界面中,首先选择请求方式为POST。

  2. 输入请求URL:在URL输入框中,填写获取Access Token的接口地址。

  3. 设置请求体:由于这个接口需要携带用户名和密码作为请求体数据,因此我们需要切换到"Body"标签页,并选择"raw"类型,然后选择JSON格式。在输入框中填写如下JSON数据:

    TypeScript 复制代码
    {  
        "username": "your_username",  
        "password": "your_password"  
    }

    注意:这里your_usernameyour_password需要替换为实际的用户名和密码。

  4. 添加Headers :有些接口在请求时需要在Headers中携带特定的字段,如Content-TypeAuthorization等。对于这个接口,我们通常需要设置Content-Typeapplication/json来告诉服务器我们发送的是JSON格式的数据。点击"Headers"标签页,并添加一行,键为Content-Type,值为application/json

  5. 发送请求:一切准备就绪后,点击"Send"按钮发送请求。

提取Access Token

在Postman中,我们可以使用Tests脚本来提取响应体中的数据。Tests脚本是JavaScript代码,可以在请求发送后执行,用于对响应结果进行验证和数据处理。

  1. 切换到Tests标签页:在请求发送后,点击"Tests"标签页。

  2. 编写Tests脚本:在Tests脚本输入框中,我们可以编写JavaScript代码来提取Access Token。假设响应体的JSON结构如下:

    TypeScript 复制代码
    {  
        "access_token": "your_access_token",  
        "expires_in": 3600  
    }

    我们可以使用pm.response.json()来获取响应体的JSON对象,并通过属性访问的方式提取Access Token。编写如下Tests脚本:

    TypeScript 复制代码
    var jsonData = pm.response.json();  
    pm.environment.set("access_token", jsonData.access_token);

    这段代码首先使用pm.response.json()获取响应体的JSON对象,并将其存储在变量jsonData中。然后,使用pm.environment.set()函数将Access Token存储在环境变量中,以便在后续的请求中引用。注意,这里假设我们已经在Postman中创建了一个环境,并且这个环境已经被选中。

  3. 使用提取的Access Token :在后续的请求中,我们可以通过{``{access_token}}的方式来引用存储在环境变量中的Access Token。例如,在需要携带Authorization头部字段的请求中,我们可以这样设置:

    TypeScript 复制代码
    Key: Authorization  
    Value: Bearer {{access_token}}

    注意,Bearer是HTTP授权方案中定义的一种类型,表示使用Bearer Token进行授权。

编写接口测试用例

在接口测试过程中,我们需要编写测试用例来覆盖各种可能的场景。测试用例应该包括正常情况和异常情况,以确保接口的稳定性和可靠性。

  1. 正常情况测试用例
    • 输入正确的用户名和密码,验证是否能够成功获取Access Token。
    • 使用获取到的Access Token进行其他需要授权的接口请求,验证授权是否成功。
  2. 异常情况测试用例
    • 输入错误的用户名或密码,验证是否能够返回错误信息,并且错误信息是否符合预期。
    • 故意发送不符合要求的请求(如请求方式错误、请求体格式错误等),验证接口是否能够正确处理并返回错误信息。

批量执行测试用例

Postman提供了Runner功能,允许我们批量执行测试用例。通过Runner,我们可以选择一个或多个Collection来执行,设置迭代次数、延迟时间等参数,并查看执行结果。

  1. 打开Runner:在Postman的侧边栏中,找到需要执行的Collection,右键点击并选择"Run in Postman Runner"或者在Collection界面中点击右上角的运行按钮。

  2. 配置Runner:在Runner界面中,我们可以设置各种参数来控制测试用例的执行。例如:

    Environment :选择一个环境,用于在测试过程中提供变量值。 Iteration :设置迭代次数,如果设置为1,则每个请求只执行一次;如果设置为N(N>1),则每个请求会执行N次。 **Delay:**设置请求之间的延迟时间,以毫秒为单位。这有助于模拟真实场景下的请求频率。

  3. 选择请求:在Runner中,你可以选择执行Collection中的所有请求,或者只选择部分请求进行测试。

  4. 查看结果:执行完成后,Runner会展示一个结果页面,其中包含每个请求的响应时间、状态码、请求和响应体等信息。你可以通过这些信息来评估接口的性能和稳定性。

Postman的Collection Runner与Tests集成

Collection Runner不仅是一个简单的批量执行工具,它还与Postman的Tests功能紧密集成,使得你可以在测试过程中验证接口的行为是否符合预期。

  1. 编写Tests脚本:在每个请求中,你都可以编写Tests脚本来定义验证逻辑。这些脚本会在请求发送后执行,并返回测试结果。

  2. 集成到Collection Runner:当你使用Collection Runner执行一个Collection时,Runner会自动执行每个请求中的Tests脚本,并收集测试结果。

  3. 查看测试结果:执行完成后,你可以在Runner的结果页面中查看每个请求的测试结果。如果某个请求的Tests脚本失败,Runner会用醒目的方式标示出来,并提供失败的原因。

通过这种方式,你可以很方便地验证整个Collection中所有接口的行为是否符合预期,而无需手动执行每个请求并检查结果。

Postman的环境和全局变量管理

在接口测试过程中,经常需要处理不同的环境(如开发环境、测试环境、生产环境)和全局配置(如API密钥、基础URL等)。Postman提供了环境和全局变量功能,使得这些配置可以轻松地管理和切换。

  1. 环境管理
    • 创建环境:在Postman的设置中,你可以创建多个环境,并为每个环境定义不同的变量和值。
    • 切换环境:在发送请求之前,你可以选择当前的环境。Postman会在发送请求时,将请求中的变量替换为当前环境中定义的相应值。
    • 导出/导入环境:你可以将环境导出为JSON文件,并在需要时导入到其他Postman实例中。
  2. 全局变量
    • 定义全局变量:在Postman的设置中,你可以定义全局变量,并在所有环境中共享这些变量。
    • 使用全局变量:与环境变量类似,你可以在请求中使用{``{variable_name}}的语法来引用全局变量。

通过合理地使用环境和全局变量,你可以轻松地管理不同环境下的配置,并确保测试的准确性和一致性。

Postman的Pre-request Script和Tests Script

Postman允许你在发送请求之前和之后执行JavaScript代码,这通过Pre-request Script和Tests Script实现。

  1. Pre-request Script
    • 功能:Pre-request Script在发送请求之前执行。你可以在这里编写代码来设置请求变量、动态修改请求参数等。
    • 示例:假设你需要根据当前时间动态生成一个请求参数,你可以在Pre-request Script中编写代码来计算时间,并将结果设置为环境变量或全局变量。
  2. Tests Script
    • 功能:Tests Script在发送请求并收到响应后执行。你可以在这里编写代码来验证响应的状态码、响应体内容等是否符合预期。
    • 示例:你可以编写一个Tests脚本来检查响应的状态码是否为200,以及响应体中是否包含特定的文本或数据。

Pre-request Script和Tests Script为Postman提供了强大的扩展能力,使得你可以在发送请求前后执行复杂的逻辑,并验证接口的行为是否符合预期。

Postman的Mock Server

在开发过程中,前端开发者经常需要依赖后端接口来进行开发。然而,在后端接口尚未实现或不稳定的情况下,这可能会成为一个障碍。Postman的Mock Server功能允许你创建一个模拟的后端接口,以便前端开发者可以在没有真实后端接口的情况下进行开发。

  1. 创建Mock
    • 选择一个Collection作为Mock的源。Postman会根据Collection中的请求和响应来生成Mock Server。
    • 配置Mock Server的URL和版本。你可以为不同的环境创建不同的Mock Server。
  2. 使用Mock
    • 一旦Mock Server创建成功,你就可以在前端代码中使用Mock Server的URL来发送请求。Mock Server会根据请求的路径和参数返回相应的模拟响应。
  3. 管理Mock
    • 你可以在Postman中查看和管理Mock Server的日志和请求历史。这有助于你了解Mock Server的使用情况和性能。

通过使用Mock Server,前端开发者可以更加独立地进行开发,而无需等待后端接口的实现。同时,Mock Server还可以作为后端接口开发过程中的一个参考,帮助后端开发者理解前端的需求和期望。

Postman的Monitor功能

在接口测试完成后,你可能还需要对接口进行持续的监控,以确保其在生产环境中的稳定性和可靠性。Postman的Monitor功能允许你设置定时任务,自动执行集合中的请求,并监控接口的性能和响应情况。

Postman Monitor功能详解

Monitor是Postman提供的一项高级功能,它允许用户设置定期运行的监控任务,以持续跟踪API的性能和可用性。这对于维护生产环境中关键服务的稳定运行至关重要。

1. 创建Monitor

在Postman中,你可以从任何一个Collection出发,创建一个Monitor来监控该Collection中的请求。以下是创建Monitor的基本步骤:

  • 选择Collection:首先,你需要选择一个包含你想要监控的API请求的Collection。
  • 进入Monitor设置:在Collection视图中,找到并点击"Monitor"按钮,这将带你进入Monitor的设置页面。
  • 配置Monitor:在Monitor设置页面中,你可以配置Monitor的名称、频率(如每小时、每天等)、环境(用于提供请求中使用的变量值)、以及是否要在监控失败时发送通知等。
  • 选择请求:你可以选择Collection中的全部请求进行监控,或者只选择部分请求。如果你只想监控Collection中的特定请求,可以在Monitor设置页面的"Requests"部分进行选择。
  • 保存并启动Monitor:完成所有配置后,点击"Save"按钮保存Monitor,并可以选择立即启动它或稍后手动启动。
2. 监控执行

一旦Monitor被启动,它将按照你设定的频率自动执行Collection中的请求。Postman会在云端执行这些请求,并收集相关的性能指标和响应数据。

  • 性能指标:Monitor会收集每个请求的响应时间、状态码、请求和响应大小等性能指标。
  • 响应数据:Monitor还会保存每个请求的响应体数据,以便你后续进行详细的分析和审查。
3. 查看Monitor结果

Monitor执行完成后,你可以在Postman的Monitor视图中查看结果。Monitor视图提供了丰富的信息和图表,帮助你快速了解API的性能和可用性。

  • 结果概览:Monitor视图首先展示了一个概览页面,其中包含了Monitor的最新执行结果、平均响应时间、成功率等关键指标。
  • 详细结果:你可以点击概览页面中的任何请求,查看该请求的详细结果。详细结果页面包含了请求的发送时间、响应时间、状态码、请求和响应体等详细信息。
  • 图表分析:Monitor视图还提供了图表功能,允许你通过图表的形式查看API的性能变化趋势。你可以根据需要选择不同的时间范围和图表类型来进行分析。
4. 通知与警报

Monitor还支持设置通知和警报功能,以便在监控到异常情况时及时通知相关人员。

  • 通知设置:在Monitor设置页面中,你可以配置通知的接收者(如电子邮件地址、Slack频道等)和触发通知的条件(如请求失败、响应时间超过阈值等)。
  • 警报接收:当Monitor监控到满足通知条件的异常情况时,Postman会自动向指定的接收者发送警报通知。这有助于你及时发现并处理潜在的问题。

Postman API与集成

除了上述的GUI功能外,Postman还提供了强大的API和集成能力,允许你与其他工具和服务进行无缝集成。

1. Postman API

Postman API允许你通过编程方式访问和操作Postman的功能和数据。你可以使用Postman API来创建和管理集合、环境、Monitor等资源,以及执行请求和获取响应数据。

  • 认证与授权:在使用Postman API之前,你需要通过OAuth 2.0或API密钥进行认证和授权。
  • API文档:Postman提供了详细的API文档,帮助你了解如何使用API进行各种操作。
  • 示例代码:Postman还提供了示例代码和库,以便你更容易地将API集成到你的项目中。
2. 集成与自动化

Postman支持与多种工具和服务的集成,允许你自动化API测试和监控流程。以下是一些常见的集成和自动化场景:

  • 持续集成/持续部署(CI/CD):你可以将Postman测试集成到CI/CD流程中,在代码提交和部署过程中自动执行API测试。
  • 代码仓库:Postman可以与GitHub、GitLab等代码仓库集成,允许你直接从仓库中导入和导出集合和环境。
  • 团队协作:Postman提供了团队协作功能,允许团队成员共享集合、环境和Monitor等资源,并进行实时协作。
  • 自动化测试:你可以使用Postman的Newman命令行工具来自动化执行集合中的请求,并将测试结果集成到测试报告中。
相关推荐
少说多做3432 天前
使用 Postman 设置 Bearer Token 进行身份验证
java·网络·测试工具·postman
古人诚不我欺2 天前
Postman之pm.test断言操作
测试工具·postman
安冬的码畜日常4 天前
【玩转 Postman 接口测试与开发2_007】第六章:Postman 测试脚本的创建(下):预请求脚本及环境变量在多个请求自动运行中的应用
测试工具·postman·测试·runner·api测试·自动测试
囷囷菌6 天前
Postman接口测试(断言、关联、参数化、输出测试报告)
测试工具·postman
好看资源平台8 天前
爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
爬虫·lua·postman
小白~小黑8 天前
软件测试基础二十(接口测试 Postman)
python·自动化·postman
暮春二十四8 天前
关于用postman调用接口成功但是使用Java代码调用却失败的问题
java·测试工具·postman
清尘沐歌9 天前
推荐一款好用的postman替代工具2024
测试工具·postman
清尘沐歌9 天前
2024 年 Postman 进行 Websocket 接口测试的图文教程
测试工具·postman
清尘沐歌9 天前
除了 Postman,还有什么好用的 API 管理工具吗?
测试工具·postman