当前位置: 首页 > news >正文

软件测试全攻略:Postman工具的使用

目录

1. 什么是API?

2. 什么是API请求?这些请求有哪些?

3.在Postman中,如何构建一个请求?

4.在Postman中,如何创建/添加/设置请求?

添加请求详细信息​

选择协议​

设置请求 URL​

5.如何创建测试集合?

6.Postman使用七步曲

7.API接口参数


1. 什么是API?

API,全称是应用程序编程接口(Application Programming Interface)。听起来有点复杂,但实际上,API 就像是一种交流的桥梁。想象一下,如果你的手机应用想要获取天气信息,它需要向天气服务发送请求,然后获取数据并展示给你,这个过程中的“请求”和“获取数据”的规则和方法就是由 API 来定义的。

API 的本质:跨系统交互的 “数字桥梁”

技术定义
API(Application Programming Interface,应用程序接口)是一组标准化协议、工具和约定,允许不同应用程序通过预定义接口进行数据交互与功能调用,本质是 “系统间通信的语法规则”。

现在我们举两个通俗易懂的例子来进行说明

  • 餐厅模型:客户端(顾客)向服务员(API 网关)下单(请求),服务员根据菜单(API 文档)将需求传递给厨房(微服务),厨房处理后由服务员返回餐品(响应)。
  • 快递系统:发件人(客户端)将包裹交给快递站(API 网关),快递站按地址(路由规则)分拣至配送点(微服务),最终送达收件人(响应结果)。

核心作用

  • 解耦系统:允许独立开发、部署不同模块,如电商平台的用户系统与支付系统通过 API 协同。
  • 复用能力:将核心功能封装为 API,供多端(Web、App、第三方)调用,如地图 API 提供定位能力。
典型交互流程:从请求到响应的全链路拆解

2. 什么是API请求?这些请求有哪些?

API(Application Programming Interface,应用程序接口)请求是指客户端(如前端应用、移动 APP、其他服务)向服务器端 API 发送的指令,用于获取数据、提交数据或操作资源。它基于特定的协议(如 HTTP/HTTPS),遵循约定的格式和规则,使不同系统之间能高效交互。

默认情况下,Postman 将选择GET新请求的方法。GET方法通常用于从 API 检索数据。你可以使用多种其他方法将数据发送到你的 API,包括以下最常见的选项:

  • POST— 添加新数据
  • PUT— 替换现有数据
  • PATCH— 更新一些现有的数据字段
  • DELETE— 删除现有数据

3.在Postman中,如何构建一个请求?

你可以在 Postman 中发送请求以连接到你正在使用的 API。你的请求可以检索、添加、删除和更新数据。无论你是构建或测试自己的 API,还是与第三方 API 集成,你都可以在 Postman 中发送请求。你的请求可以发送参数、授权详细信息和你需要的任何正文数据。

例如,如果你正在为商店构建客户端应用程序(例如移动或网络应用程序),你可能会发送一个请求来检索可用产品列表,另一个请求来创建新订单(包括所选产品的详细信息,以及让客户登录其帐户的不同请求。

当你发送请求时,Postman 会以一种允许你检查、可视化并在必要时进行故障排除的方式显示从 API 服务器收到的响应。

4.在Postman中,如何创建/添加/设置请求?

你的请求可以包含多个详细信息,确定 Postman 将发送到你正在使用的 API 的数据。输入一个 URL 并选择一种方法,然后可以选择指定各种其他详细信息。

你可以使用New > HTTP或选择+打开新选项卡,从工作空间创建新请求。

选择保存以创建你的请求。你可以为你的请求命名和描述,然后选择或创建一个集合来保存它。

打开新选项卡后,你可以指定请求所需的详细信息。

添加请求详细信息​

如果你有要运行的请求,则需要知道 URL、方法和其他可选值,例如身份验证和参数。

要测试在 Postman 中发送请求,你可以将 URL 设置为 Postman Echo 示例 API 端点https://postman-echo.com/get并将方法设置为GET,然后选择Send

选择协议​

你可以更改新请求的协议。在边栏中选择新建,然后选择一个请求协议,或选择**+**打开一个新选项卡。选择请求名称左侧的协议下拉菜单,然后选择不同的请求协议。

选择保存后,你无法更改请求协议。

 

设置请求 URL​

你在 Postman 中发送的每个请求都需要一个表示你正在使用的 API 端点的 URL。你可以使用 API 执行的每个操作通常都与一个端点相关联。API 中的每个端点都可以在特定的 URL 上使用。这是你输入 Postman 以访问 API 的内容。

  • 如果你要构建 API,URL 通常是基本位置加上路径。例如,在请求中https://postman-echo.com/gethttps://postman-echo.com是基本 URL,/get是端点路径。
  • 如果你使用的是第三方 API,你的 API 提供商将提供你需要的 URL,例如在他们的开发人员文档中。

当你开始在 URL 输入字段中键入时,Postman 将显示一个下拉列表,其中包含你可以用来自动完成的以前使用过的位置。

http://如果你不指定协议,Postman 将自动添加到你的 URL 的开头。

你可以选择在 URL 字段中输入查询参数,也可以 在“参数”选项卡中输入它们 。如果你的请求使用路径参数, 你可以将它们直接输入到 URL 字段中 。

你可以在请求中使用 下一代 URL 编码。

5.如何创建测试集合?

在公司中,常常使用测试集合来批量测试接口。它可以被导入和导出,使得在团队之中创建集合变得容易。

我们可以选择创建集合或者导入集合。

然后我们通过上传我们需要测试的文件(比如word\ppt\excel\pdf等等) ,然后我们在测试接口时,也需要调整对应的参数。

我们使用Post请求往对应的网址上传文件或者参数,使用Get请求获取到接口数据,测试这个接口功能是否正常。

Postman 集合是一组保存的请求。你在 Postman 中发送的每个请求都会出现在侧边栏的历史记录选项卡下。在小规模上,通过历史记录部分重用请求非常方便。随着你对 Postman 的使用增加,查找特定请求在历史记录中可能会耗费时间。你可以将所有请求保存为一个组,以便更轻松地访问,而不是在历史记录部分滚动查找。

6.Postman使用七步曲

        1)选方法:GET/POST等请求类型选对

        2)填地址:粘贴接口URL

        3)加参数:Query/Body/Header参数填好(如josn/表单)

        4)送请求:点击Send发送

        5)查结果:看状态码

        6)写断言:Tests里用JS脚本自动校验

        7)管变量:环境变量存Token等动态值,供后续接口使用。

7.API接口参数

 --request_id

含义:请求的唯一标识符(UUID或随机字符串)

作用:

  • 追踪单个请求的全链路日志(如服务端、客户端、中间件)
  • 排查问题时通过ID快速定位请求记录
  • 避免重复请求(幂等性校验)

--request_time

含义:请求发生的时间戳(通常为UTC的时间或本地时间)

格式:常见为Unix时间戳(秒/毫秒)或YYYY-MM-DD HH:MM:SS格式

作用:h统计请求耗时(如响应时间 = 处理完成时间 - request_time)。

  • 按时间维度分析请求频率、峰值等。

--code

含义:状态码,标识请求的处理结果。

常见类型:

  • HTTP状态码(如 200 成功、404未找到、500服务器错误)。
  • 自定义业务码(如 10000 成功、20001 参数错误)

--data

含义:请求或响应的核心数据体(如JSON/XML格式为主)。

内容:

  • 请求时:携带的业务参数(如登录时的 usernamepassword
  • 响应时:返回的结果数据(如查询用户的 nameage

--file_id

 含义:文件的唯一标识符(如上传文件后服务器生成的ID)。

作用: 

  • 关联文件资源(如下载、删除文件时使用)。
  • 避免直接暴露文件路径,提升安全性(通过 ID 映射实际存储路径)

--msg

含义:消息字段,通常为文本描述

用途:

  • 成功场景:返回提示信息(如“操作成功”)。
  • 错误场景:详细错误原因(如“文件大小超过限制”)。
  • 辅助调试:补充状态码未明确的信息(如数据库错误具体原因)。

--link

含义:链接(URL),网络中用于连接不同资源的地址或引用标识符。

参考文献:

--来源:Postman中文文档Postman 中文文档 | Postman 官方帮助文档中文版

--来源:什么是 API?深入了解 API 的概念和应用

附件:Postman 10.0.1链接

http://www.xdnf.cn/news/888499.html

相关文章:

  • 将 WTL 向导集成到 Visual Studio 2022 的完整教程
  • HBuilder 发行Android(apk包)全流程指南
  • MySQL 的锁机制【深度全面】
  • windows命令行面板升级Git版本
  • 4G 模块工作原理及应用场景
  • 【AI News | 20250605】每日AI进展
  • 使用Node.js分片上传大文件到阿里云OSS
  • Gemini开源项目DeepResearch:基于LangGraph的智能研究代理技术原理与实现
  • freeRTOS 消息队列之一个事件添加到消息队列超时怎么处理
  • 【threejs】每天一个小案例讲解
  • Dubbo Logback 远程调用携带traceid
  • 【Algorithm】Segment Tree 简单介绍
  • C#异步编程:从线程到Task的进化之路
  • Linux 内核队列调度相关内核选项详解
  • Java + Spring Boot + Mybatis 插入数据后,获取自增 id 的方法
  • 【.net core】.KMZ文件解压为.KML文件并解析为GEOJSON坐标数据集。附KML处理多线(LineString)闭环问题
  • 【LLIE专题】NTIRE 2025 低照度图像增强第二名方案
  • EtherCAT Module and Slot
  • Python训练第四十五天
  • 中国森林地上和地下植被碳储量数据集(2002~2021)
  • 【EN 18031】访问控制机制(ACM - 3):儿童玩具的防护盾
  • 我认为STM32输入只分为模拟输入 与 数字输入
  • 实现基于Yolo的异常聚集算法
  • 会话技术:Cookie 与 Session 详解
  • Ubuntu崩溃修复方案
  • 基于Java(Jsp+servelet+Javabean)+MySQL实现图书管理系统
  • Vue中实现表格吸底滚动条效果,列太多时左右滚动条始终显示在页面中
  • android知识总结
  • 【从0-1的CSS】第1篇:CSS简介,选择器已经常用样式
  • NoSQl之Redis部署