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命令行工具来自动化执行集合中的请求,并将测试结果集成到测试报告中。
相关推荐
一个幽默的程序员1 天前
Postman 如何批量发送 API 请求?循环发送功能
测试工具·postman
一个幽默的程序员2 天前
如何快速备份你的 API 吗? Postman 批量导出接口
测试工具·postman
Cc_Davis_cC2 天前
postman发送请求报文到后台中文乱码
测试工具·postman
一个幽默的程序员2 天前
Postman 集合如何快速分享给团队?
测试工具·postman
一个幽默的程序员3 天前
Postman 如何发送 Post 请求上传文件? 全面指南
测试工具·postman
心灵宝贝3 天前
Postman 7.3.5 旧版下载指南(Win64)及注意事项
测试工具·postman
测试19983 天前
postman测试文件上传接口详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
一个幽默的程序员3 天前
Postman 全局 Header 如何设置?全局设置了解一下
测试工具·postman
一个幽默的程序员3 天前
API 请求需要证书认证? 如何在 Postman 中正确配置和使用?
测试工具·postman
一个幽默的程序员4 天前
如何用 Postman 进行高效的 Mock 测试?
测试工具·mock·postman