使用 Postman 进行 API 测试:从入门到精通

devtools/2025/2/7 1:32:41/

使用 Postman 进行 API 测试:从入门到精通

  • 使用 Postman 进行 API 测试:从入门到精通
    • 一、什么是 API 测试?
    • 二、Postman 简介
    • 三、环境搭建
    • 四、API 测试流程
      • 1. 收集 API 文档
      • 2. 发送基本请求
        • 示例:发送 GET 请求
        • 示例代码(JavaScript):
      • 3. 设置请求参数
        • 示例:发送 POST 请求
        • 示例代码(JavaScript):
      • 4. 验证响应
        • 示例:设置断言
      • 5. 创建测试集合
        • 创建一个简单的 Collection:
    • 五、高级技巧和最佳实践
      • 1. 使用环境变量
        • 示例:设置环境变量
      • 2. 使用 Pre-request 和 Post-request 脚本
        • 示例:使用 Pre-request 脚本
      • 3. 创建自动化测试脚本
        • 示例:创建一个简单的自动化脚本
    • 六、工具链集成
        • 示例:使用 Newman 运行 Collection
    • 七、总结与建议

使用 Postman 进行 API 测试:从入门到精通

在现代软件开发中,API(应用程序编程接口)测试是确保系统稳定性和可靠性的重要环节。而 Postman 是一个功能强大且易于使用的工具,可以帮助开发者快速、高效地完成 API 测试任务。


一、什么是 API 测试?

API 测试是指通过发送请求到 API 并验证响应是否符合预期来确保 API 的功能性和稳定性。常见的 API 测试类型包括:

  1. 功能性测试:验证 API 是否按设计要求工作。
  2. 性能测试:评估 API 在高负载下的表现。
  3. 安全测试:检查 API 是否存在漏洞,如 SQL 注入、跨站脚本(XSS)等。
  4. 回归测试:在修改代码后,确保新增的功能不会破坏现有功能。

二、Postman 简介

Postman 是一个广泛使用的 API 开发和测试工具,支持 HTTP 和 HTTPS 请求的发送与接收。它提供了丰富的功能,包括:

  • 收集和分析 API 响应。
  • 使用断言验证响应内容。
  • 创建自动化测试脚本(JavaScript)。
  • 支持团队协作,便于管理和共享测试用例。

三、环境搭建

在开始使用 Postman 进行 API 测试之前,请确保你已经完成了以下准备工作:

安装 Postman
下载并安装 Postman:https://www.postman.com/downloads/


四、API 测试流程

1. 收集 API 文档

在进行 API 测试之前,你需要获取被测试 API 的详细文档。通常,API 文档会包含以下信息:

  • 请求 URL
  • 请求方法(GET, POST, PUT, DELETE 等)
  • 请求参数(路径参数、查询参数、请求体参数等)
  • 响应格式(JSON, XML 等)

2. 发送基本请求

使用 Postman,你可以轻松发送各种类型的 HTTP 请求。以下是一个简单的示例:

示例:发送 GET 请求

步骤如下:

  1. 打开 Postman。
  2. 输入请求 URL,例如 https://api.example.com/users
  3. 选择请求方法为 GET。
  4. 点击“Send”按钮。
示例代码(JavaScript):
javascript">const request = require('request');request.get('https://api.example.com/users', (error, response, body) => {if (error) {console.error('Error:', error);return;}console.log('Response:', JSON.parse(body));
});

3. 设置请求参数

在 Postman 中,你可以通过以下方式设置请求参数:

  • 路径参数:在 URL 中直接填写。
  • 查询参数:在“Query Parameters”选项卡中添加。
  • 请求体参数:在“Body”选项卡中选择合适的格式(如 form-data, x-www-form-urlencoded, raw 等)。
示例:发送 POST 请求

步骤如下:

  1. 在 Postman 中,输入请求 URL,例如 https://api.example.com/users
  2. 选择请求方法为 POST。
  3. 在“Body”选项卡中选择“form-data”,并添加表单字段,例如:
    • name: John Doe
    • email: john@example.com
  4. 点击“Send”按钮。
示例代码(JavaScript):
javascript">const request = require('request');const options = {method: 'POST',url: 'https://api.example.com/users',headers: {'Content-Type': 'application/x-www-form-urlencoded'},form: {name: 'John Doe',email: 'john@example.com'}
};request(options, (error, response, body) => {if (error) {console.error('Error:', error);return;}console.log('Response:', JSON.parse(body));
});

4. 验证响应

在 Postman 中,你可以通过以下方式验证 API 响应:

  • 查看响应内容:直接在“Body”选项卡中查看响应内容。
  • 设置断言:使用 Postman 的断言功能,检查响应状态码、头信息和正文内容是否符合预期。
示例:设置断言
  1. 在 Postman 中,发送一个请求后,在右侧菜单中选择“Tests”选项卡。
  2. 添加以下代码来验证 HTTP 状态码为 200:
javascript">pm.responseStatusCode === 200;

5. 创建测试集合

为了更好地管理和执行多个 API 测试用例,你可以将它们组织到一个“Collection”中。Postman 提供了丰富的选项来管理你的测试用例。

创建一个简单的 Collection:
  1. 在 Postman 中,点击左侧的“Collections”图标。
  2. 点击“新建集合”,并输入名称(如“My API Tests”)。
  3. 将常用的测试请求拖动到该 Collection 中。

五、高级技巧和最佳实践

1. 使用环境变量

在 Postman 中,你可以使用环境变量来管理不同的配置,例如:

  • 请求 URL
  • API 密钥
  • 用户 ID 等。
示例:设置环境变量
  1. 在 Postman 中,点击右上角的齿轮图标,选择“Environments”。
  2. 添加一个新的环境,并配置相应的变量(如 baseUrl)。
  3. 在测试脚本中使用这些变量:
javascript">pm.environment.get('baseUrl') + '/users';

2. 使用 Pre-request 和 Post-request 脚本

Pre-request 和 Post-request 脚本允许你在发送请求之前或之后执行自定义操作,例如设置请求头、清理数据等。

示例:使用 Pre-request 脚本
  1. 在 Postman 中,选择“Pre-request”选项卡。
  2. 添加以下代码来设置 API 令牌:
javascript">pm.request.headers.add("Authorization", "Bearer " + pm.environment.get('apiKey'));

3. 创建自动化测试脚本

通过编写 JavaScript 脚本,你可以将 Postman 的操作自动化。这非常适合需要频繁执行的测试用例。

示例:创建一个简单的自动化脚本
  1. 在 Postman 中,选择“Tests”选项卡。
  2. 添加以下代码来验证响应内容:
javascript">const response = pm.response.json();
pm.expect(response.name).to.equal("John Doe");

六、工具链集成

Postman 提供了与其他工具和平台的集成能力,例如:

  1. Newman:用于命令行运行 Postman 收集的测试用例。
  2. CI/CD 工具(如 Jenkins、GitHub Actions):将 API 测试集成到持续集成流程中。
示例:使用 Newman 运行 Collection
  1. 安装 Newman:
    npm install -g newman
    
  2. 在终端中运行以下命令:
    newman run my-collection.postman.json
    

七、总结与建议

Postman 是一个功能强大且易于使用的 API 测试工具,适合个人和团队使用。

以下是一些推荐的资源:

  • Postman 官方文档
  • Newman 文档
  • API 测试最佳实践

http://www.ppmy.cn/devtools/156669.html

相关文章

学术方向选则与规划DeepSeek、ChatGPT和Kimi对比

论文选题与规划 一篇优秀的文章背后,肯定有一个精心挑选的选题。选题的好坏直接影响着文章能够发表的期刊等级。许多宝子们却采取了相反的做法,将大量时间花在写作上,对于选题却不够重视,往往随意挑选一个题目就匆忙开始写作&…

中国城商行信贷业务数仓建设白皮书(第三期:数据治理体系深度实践)

一、多级数据血缘分域管控方案 1.1 血缘分级模型 构建"五级数据血缘图谱"管理体系: 业务系统源端 贴源层 数据标准层 主题模型层 指标服务层 监管报送层 元数据属性扩展: <ColumnMeta> <Name>loan_amt</Name> <DataType>DECIMAL…

力扣-哈希表-349 两个数组的交集

思路 把第一个数组转换成set&#xff0c;然后遍历第二个数组判断是否在set中存在 代码 class Solution { public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> result_set;unordered_set<int…

毕业设计:基于卷积神经网络的鲜花花卉种类检测算法研究

目录 前言 课题背景和意义 实现技术思路 一、算法理论基础 1.1 卷积神经网络 1.2目标检测算法 二、 数据集 2.1 数据集 2.2 数据扩充 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 最后 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或…

vue3中el-input无法获得焦点的问题

文章目录 现象两次nextTick()加setTimeout()解决结论 现象 el-input被外层div包裹了&#xff0c;设置autofocus不起作用&#xff1a; <el-dialog v-model"visible" :title"title" :append-to-bodytrue width"50%"><el-form v-model&q…

openeuler 22.03 lts sp4 使用 cri-o 和 静态 pod 的方式部署 k8s-v1.32.0 高可用集群

前情提要 整篇文章会非常的长…可以选择性阅读,另外,这篇文章是自己学习使用的,用于生产,还请三思和斟酌 静态 pod 的部署方式和二进制部署的方式是差不多的,区别在于 master 组件的管理方式是 kubectl 还是 systemctl有 kubeadm 工具,为什么还要用静态 pod 的方式部署?…

linux——网络(服务器的永久不挂——守护进程)

文章目录 目录 文章目录 前言 一、前后台进程 1. 前台进程 (Foreground Process) 2. 后台进程 (Background Process) 3. 前后台进程的切换 4. 关键命令和操作 5. 注意事项 6. 信号处理 二、守护进程 1. 守护进程的核心特点 2. 常见守护进程示例 3.接口介绍 1、 fork() 2. sets…

深度学习|表示学习|卷积神经网络|NIN 相比普通 CNN|17

如是我闻&#xff1a; Network in Network (NIN) 是 2014 年由 Min Lin 等人 提出的一个改进 CNN 结构的模型。它的核心思想是&#xff1a;用小型的多层感知机&#xff08;MLP&#xff0c;Multi-Layer Perceptron&#xff09;替代传统 CNN 中的卷积层&#xff0c;从而提高网络的…