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

使用 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):
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):
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:
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. 在测试脚本中使用这些变量:
pm.environment.get('baseUrl') + '/users';

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

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

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

3. 创建自动化测试脚本

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

示例:创建一个简单的自动化脚本
  1. 在 Postman 中,选择“Tests”选项卡。
  2. 添加以下代码来验证响应内容:
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 测试最佳实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965522.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计hadoop+spark+hive民宿推荐系统 酒店推荐系统 民宿价格预测 酒店价预测 机器学习 深度学习 Python爬虫 HDFS集群

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

接口对象封装思想及实现-笔记

目录 接口对象封装代码分层思想 封装案例封装Tpshop商城登录Tpshop商城登录参数化 接口自动化测试框架 接口对象封装 代码分层思想 分层思想:将普通思想分为两层,分为接口对象层和测试脚本层 接口对象层: 对接口进行封装,封装好之…

【LeetCode】5. 贪心算法:买卖股票时机

太久没更了,抽空学习下。 看一道简单题。 class Solution:def maxProfit(self, prices: List[int]) -> int:cost -1profit 0for i in prices:if cost -1:cost icontinueprofit_ i - costif profit_ > profit:profit profit_if cost > i:cost iret…

微信小程序调用企业微信客户服务插件联通企业微信客服

需求背景:用户在小程序页面点击按钮添加企业微信的客服 相关技术:基于uniapp开发的微信小程序 插件名称:企业微信客户服务插件「联系我」插件 - 文档 - 企业微信开发者中心 仔细阅读文档「联系我」插件 - 文档 - 企业微信开发者中心 以下是我的实例代码 1.首先先小程序管…

大数据数仓实战项目(离线数仓+实时数仓)2

目录 1.课程目标和课程内容介绍 2.数仓维度建模设计 3.数仓为什么要分层 4.数仓分层思想和作用 5.数仓中表的种类和同步策略 6.数仓中表字段介绍以及表关系梳理 订单表itcast_orders 订单明细表 itcast_order_goods 商品信息表 itcast_goods 店铺表 itcast_shops 商…

【Android】jni开发之导入opencv和libyuv来进行图像处理

做视频图像处理时需要对其进行水印的添加,放在应用层调用工具性能方面不太满意,于是当下采用opencvlibyuv方法进行处理。 对于Android的jni开发不是很懂,我的需求是导入opencv方便在cpp中调用,但目前找到的教程都是把opencv作为模…

理解 C 与 C++ 中的 const 常量与数组大小的关系

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 💯前言💯数组大小的常量要求💯C 语言中的数组大小要求💯C 中的数组大小要求💯为什么 C 中 const 变量可以作为数组大小💯进一步的…

小菜鸟系统学习Python第六天

1.函数: 2.全局变量加global(这里博主记混了,global使用的时候不能赋值,然后就错了两回) 3.内嵌函数 4.闭包 存在嵌套函数:在一个函数内部定义另一个函数。内部函数引用外部函数的变量:内部函数使用了外部函数作用域中的变量。外部函数返回内部函数&…

【STM32系列】利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程)

ps.源码放在最后面 设计FIR数字滤波器可以看这里:利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程) 设计IIR滤波器 MATLAB配置 设计步骤 首先在命令行窗口输入"filterDesigner",接着就会跳出以下界面&#xf…

WSL2中安装的ubuntu搭建tftp服务器uboot通过tftp下载

Windows中安装wsl2,wsl2里安装ubuntu。 1. Wsl启动后 1)Windows下ip ipconfig 以太网适配器 vEthernet (WSL (Hyper-V firewall)): 连接特定的 DNS 后缀 . . . . . . . : IPv4 地址 . . . . . . . . . . . . : 172.19.32.1 子网掩码 . . . . . . . .…

ES冷热数据分离配置

冷热数据是根据索引创建时间来进行迁移的。一旦迁移到冷数据节点,则无法再恢复成热数据,因为热数据节点中该索引已经没有分片存在了。 基于Docker搭建ES集群,并设置冷热数据节点 配置冷热数据迁移策略 PUT https://192.168.x.xx:19200/_ilm/policy/my…

Javaweb学习日记(十一)Mybatis-基础操作

一、环境准备 二、基础操作-删除 日志输出: SQL注入: sql注入:例如一个登录页面,需要满足账号密码同时匹配数据库内的数据才可登录(点击登录也页面在后台生成一条sql语句去检验是否正确(通过判断sql语句返…

小程序-基础加强

前言 这一节把基础加强讲完 1. 导入需要用到的小程序项目 2. 初步安装和使用vant组件库 这里还可以扫描二维码 其中步骤四没什么用 右键选择最后一个 在开始之前,我们的项目根目录得有package.json 没有的话,我们就初始化一个 但是我们没有npm这个…

Spring @PropertySource:让你的应用配置更加模块化和可维护

PropertySource注解在Spring中的作用,就像是给Spring应用配了一个“外部配置箱”。 想象一下,你在开发一个Spring应用时,有很多配置信息需要设置,比如数据库的连接信息、应用的某些功能开关等。如果这些信息都硬编码在代码中&…

尝试在Excel里调用硅基流动上的免费大语言模型

我个人觉得通过api而不是直接浏览器客户端聊天调用大语言模型是使用人工智能大模型的一个相对进阶的阶段。 于是就尝试了一下。我用的是老师木 袁进辉博士新创的硅基流动云上的免费的大模型。——虽然自己获赠了不少免费token,但测试阶段用不上。 具体步骤如下&am…

问卷数据分析|SPSS之分类变量描述性统计

1.点击分析--描述统计--频率 2. 选中分类变量,点击中间箭头 3.图表选中条形图,图表值选择百分比,选择确定 4.这里显示出了描述性统计的结果 5.下面就是图形,但SPSS画的图形都不是很好啊看,建议用其他软件画图&#xff…

生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (上)

今天小李哥将开启全新的技术分享系列,为大家介绍生成式AI的安全解决方案设计方法和最佳实践。近年来,生成式 AI 安全市场正迅速发展。据 IDC 预测,到 2025 年全球 AI 安全解决方案市场规模将突破 200 亿美元,年复合增长率超过 30%…

LQB(0)-python-基础知识

一、Python开发环境与基础知识 python解释器:用于解释python代码 方式: 1.直接安装python解释器 2.安装Anaconda管理python环境 python开发环境:用于编写python代码 1.vscode 2.pycharm # 3.安装Anaconda后可以使用网页版的jupyter n…

SQL Server 数据库备份指南

SQL Server备份是数据库维护的日常工作。备份的目的是在发生数据丢失、损坏甚至硬件故障时将数据库和事务日志恢复到最近的时间点。您可以借助专业的SQL Server备份软件,操作起来更方便。前提需要安装SQL Server Management Studio (SSMS)工具。 对于 SQL 数据库备份,有多种…

常见Linux命令的复习

常见命令 ls 列出工作目录 ls -l:以长格式显示目录下的文件和子目录信息。ls -a:显示所有文件和子目录,包括隐藏文件 ll 列出该目录下的详细信息 看到该目录下的所有目录和文件的详细信息 cd 切换当前工作目录里 cd /path/to/directory&…