Postman 高级用法学习

Postman 高级用法

Postman 是一款强大的 API 调试和开发工具,广泛应用于 API 开发、测试、调试和自动化流程中。除了基本的 API 请求发送和响应查看功能,Postman 还提供了许多高级功能。以下是详细的讲解,包括具体示例和操作步骤。


一、环境管理与变量使用

在 API 开发和测试过程中,切换不同的环境(如开发、测试、生产环境)和使用变量可以大大简化操作。Postman 的环境管理和变量功能非常有用。

1.1 环境管理

操作步骤

  1. 创建环境

    • 点击 Postman 界面右上角的环境选择器(通常显示为“No Environment”)。
    • 点击“Manage Environments”进入环境管理页面。
    • 点击“Add”按钮创建一个新环境。
    • 给环境命名,比如“开发环境”,并添加所需的环境变量。
  2. 定义环境变量

    • 在环境设置中,为每个环境变量设置键值对。例如,设置 base_urlhttps://dev.example.com/api
  3. 切换环境

    • 在环境选择器中选择所需的环境,所有使用 {{variable_name}} 语法的变量都会自动替换为当前环境的值。

示例

假设你有一个 API 基础 URL 在不同环境下不同:

  • 开发环境:https://dev.example.com/api
  • 测试环境:https://test.example.com/api

你可以在请求中使用变量:

GET {{base_url}}/users

切换环境时,{{base_url}} 会替换为相应的 URL。

1.2 变量使用

Postman 支持多种类型的变量,包括环境变量、全局变量和局部变量。

  • 环境变量:适用于当前选定的环境。
  • 全局变量:适用于所有环境和请求。
  • 局部变量:只在当前请求或脚本中有效。

操作步骤

  1. 定义全局变量

    • 点击右上角的“Environment Quick Look”(眼睛图标)。
    • 点击“Add”按钮添加全局变量。
  2. 使用变量

    • 在请求的 URL、Headers 或 Body 中使用 {{variable_name}} 来引用变量。

示例

GET {{base_url}}/users/{{user_id}}

在请求的“Pre-request Script”中,可以动态设置 user_id 变量:

pm.environment.set("user_id", 12345);

二、请求链与集合测试

Postman 支持将多个请求组织成集合(Collection),并允许在请求之间传递数据,实现复杂的 API 测试场景。

2.1 请求链

请求链可以让你在一个请求完成后,将其响应数据传递给下一个请求。

操作步骤

  1. 保存响应数据

    • 在请求的“Tests”选项卡中使用 pm.environment.setpm.globals.set 来保存响应数据。
    // 保存响应中的 user_id 到环境变量
    pm.environment.set("user_id", pm.response.json().id);
    
  2. 在后续请求中使用保存的变量

    • 在下一个请求中,通过 {{user_id}} 使用之前保存的变量。
    GET {{base_url}}/users/{{user_id}}/details
    
2.2 集合测试

Postman 集合(Collection)是一个包含多个请求的集合,可以批量运行这些请求,适用于自动化测试和回归测试。

操作步骤

  1. 创建集合

    • 在左侧的“Collections”面板中,点击“New Collection”创建一个新集合。
  2. 添加请求到集合

    • 将请求拖拽到集合中,或者在创建请求时直接添加到集合。
  3. 运行集合

    • 点击集合的“Run”按钮,进入“Collection Runner”界面。
    • 选择要运行的请求和环境,点击“Run Collection”启动测试。

示例

假设你有一个用户注册和登录的 API,需要依次测试用户注册、获取用户详情和用户登录。

1. POST {{base_url}}/registerBody: { "username": "testuser", "password": "testpass" }2. GET {{base_url}}/users/{{user_id}}使用注册成功后返回的 user_id3. POST {{base_url}}/loginBody: { "username": "testuser", "password": "testpass" }

可以通过集合和变量传递来实现这个测试流程。


三、使用脚本增强测试能力

Postman 提供了强大的脚本功能,可以在请求发送前(Pre-request Script)和收到响应后(Tests)执行 JavaScript 脚本,用于数据预处理和响应验证。

3.1 Pre-request Script

Pre-request Script 是在请求发送前执行的脚本,常用于设置变量、修改请求参数或动态生成数据。

操作步骤

  1. 编写 Pre-request Script
    • 在请求的“Pre-request Script”选项卡中编写 JavaScript 脚本。

示例

自动生成一个随机的 API 密钥:

const apiKey = Math.random().toString(36).substring(2, 15);
pm.environment.set("api_key", apiKey);
3.2 Tests

Tests 是在请求响应后执行的脚本,常用于验证响应状态码、响应体内容和 Headers。

操作步骤

  1. 编写测试脚本
    • 在请求的“Tests”选项卡中编写 JavaScript 脚本。

示例

检查响应状态码是否为 200,响应体是否包含 success 字段:

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});pm.test("Response contains success", function () {pm.expect(pm.response.json()).to.have.property("success");
});

四、Postman 自动化与 CI/CD 集成

Postman 不仅适用于手动测试,还可以与持续集成/持续交付(CI/CD)系统集成,实现自动化测试和部署。

4.1 通过 Newman 执行集合测试

Newman 是 Postman 的命令行运行器,允许在命令行中运行 Postman 集合测试,非常适合集成到 CI/CD 管道中。

安装 Newman

npm install -g newman

运行集合

  1. 导出集合和环境文件

    • 在 Postman 中,将集合和环境导出为 JSON 文件。
  2. 使用 Newman 运行集合

newman run path/to/collection.json -e path/to/environment.json

示例

运行一个名为 my-collection.json 的集合,并使用 my-environment.json 作为环境配置:

newman run my-collection.json -e my-environment.json
4.2 在 CI/CD 系统中集成

Postman 可以与 Jenkins、GitLab CI、Travis CI 等 CI/CD 工具集成,实现自动化测试。

操作步骤

  1. 配置集合和环境

    • 在 Postman 中创建并导出集合和环境文件。
  2. 编写 CI/CD 脚本

    • 在 CI/CD 系统中,编写脚本调用 Newman 运行集合测试。

示例

在 Jenkins 中的 Jenkinsfile 中运行 Postman 测试:

pipeline {agent anystages {stage('Test') {steps {sh 'newman run path/to/collection.json -e path/to/environment.json'}}}
}

五、利用 Postman 插件扩展功能

Postman 支持多种插件和扩展,可以通过 Postman 的插件市场(Postman Plugin Marketplace)来安装和使用。

5.1 Postman 插件

操作步骤

  1. 访问插件市场

    • 打开 Postman,点击左侧边栏的插件图标(积木状图标)。
  2. 安装插件

    • 在插件市场中浏览和搜索插件,点击“Install”按钮安装所需的插件。

常用插件

  • Postman Interceptor

    • 用于捕获和同步浏览器请求到 Postman,方便调试 Web 应用的 API 请求。

    操作步骤

    • 安装 Postman Interceptor 插件,并在 Chrome 浏览器中安装相应的 Postman Interceptor 扩展。
    • 在 Postman 中启用 Interceptor,并连接到浏览器扩展。
    • 开启“捕获请求”功能,在浏览器中进行操作,Postman 会自动捕获这些请求。
  • Postman Code Generator

    • 将 Postman 请求生成多种编程语言的代码片段,

方便在应用中使用。

操作步骤

  • 打开一个请求,点击右上角的“Code”按钮。

  • 在弹出的窗口中选择需要生成代码的语言和框架,Postman 会生成相应的代码片段。

  • Postman Visualizer

    • 将响应数据可视化为图表或表格,方便分析和展示数据。

    操作步骤

    • 在请求的“Tests”选项卡中编写 JavaScript 脚本,使用 pm.visualizer.set 方法定义可视化模板和数据。

    示例

    const template = `<table><tr><th>ID</th><th>Name</th></tr>{{#each response}}<tr><td>{{this.id}}</td><td>{{this.name}}</td></tr>{{/each}}</table>
    `;pm.visualizer.set(template, { response: pm.response.json() });
    

六、Postman 的使用技巧

Postman 的高效使用可以显著提升 API 开发和测试的效率。以下是一些常用的使用技巧。

6.1 快捷键

Postman 支持许多快捷键,可以加快操作速度。

常用快捷键

  • Ctrl + T:新建 Tab。
  • Ctrl + S:保存请求。
  • Ctrl + Enter:发送请求。
  • Ctrl + F:搜索请求。
6.2 Mock Server

Postman 的 Mock Server 功能可以模拟 API 响应,适用于前后端分离开发和测试。

操作步骤

  1. 创建 Mock Server

    • 在 Postman 中点击左侧的“Mock Servers”面板,点击“Create a Mock Server”按钮。
    • 选择要模拟的集合和响应,配置 Mock Server 的 URL 和环境。
  2. 使用 Mock Server

    • 在请求中使用 Mock Server 的 URL 进行调用,模拟真实的 API 响应。
6.3 监视器

Postman 的监视器可以定期运行集合,监控 API 的性能和可用性。

操作步骤

  1. 创建监视器

    • 在 Postman 中点击左侧的“Monitors”面板,点击“Create a Monitor”按钮。
    • 选择要监视的集合和环境,设置监视器的运行频率和通知方式。
  2. 查看监视器结果

    • 监视器会定期运行集合,并生成报告,可以在 Postman 中查看运行结果和性能指标。

七、总结

Postman 是一个功能强大的 API 开发和测试工具,提供了丰富的高级功能,如环境管理、变量使用、请求链、集合测试、脚本、自动化集成和插件扩展等。这些功能可以大大提升 API 开发和测试的效率。通过掌握这些高级用法,开发者可以更高效地进行 API 调试、测试和自动化流程的实现。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索金融数据API:现代投资的关键工具

在当今快节奏的金融市场中&#xff0c;实时准确的数据对于投资者而言至关重要。金融数据API&#xff08;Application Programming Interface&#xff09;成为了投资者获取和管理数据的核心工具。本文将探讨金融数据API的基本概念、用途及其对投资策略的影响。 什么是金融数据A…

PG实践|内置函数之GENERATE_SERIES之深入理解(二)

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

#LinuxC高级 笔记二

makefile gcc gdb makefile 1. 分文件编程 1.1 源文件&#xff1a;.c结尾的文件 包含main函数的.c 包含子函数的.c 1.2 头文件&#xff1a;.h结尾的文件 头文件、宏定义、typedef 、结构体、共用体、枚举、函数声明 include引用时“”和<>的区别&#xff1a; <>去系…

Java:JDK、JRE和JVM 三者关系

文章目录 一、JDK是什么二、JRE是什么三、JDK、JRE和JVM的关系 一、JDK是什么 JDK&#xff08;Java Development Kit&#xff09;&#xff1a;Java开发工具包 JRE&#xff1a;Java运行时环境开发工具&#xff1a;javac&#xff08;编译工具&#xff09;、java&#xff08;运行…

23432443

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

聚四氟乙烯消解管/PTFE四氟消化管/配套各厂家石墨消解仪

四氟消解瓶&#xff0c;通常指的是采用聚四氟乙烯&#xff08;PTFE&#xff0c;也称为特氟龙或铁氟龙&#xff09;材料制成的实验室消解容器。 以下是关于四氟消解瓶的一些基本信息&#xff1a; 材质特性&#xff1a; 四氟消解瓶由PTFE材料制成&#xff0c;具有极佳的耐腐蚀…

Python脚本:将Word文档转换为Excel文件

引言 在文档处理中&#xff0c;我们经常需要将Word文档中的内容转换成其他格式&#xff0c;如Excel&#xff0c;以便更好地进行数据分析和报告。针对这一需求&#xff0c;我编写了一个Python脚本&#xff0c;能够批量处理指定目录下的Word文档&#xff0c;将其内容结构化并转换…

PTrade如何获取技术值班?如get_RSI - 相对强弱指标;PTrade量化软件如何获取?

get_RSI - 相对强弱指标 get_RSI(close, n6) 使用场景 该函数仅在回测、交易模块可用 接口说明 获取相对强弱指标RSI指标的计算结果 PTrade是恒生公司开发的一款专业量化软件&#xff0c;部分合作券商可提供&#xff0c;↑↑↑&#xff01; 参数 close&#xff1a;价格…

.NET发布成单个文件后获取不到程序所在路径的问题

.net程序不发布成单个文件&#xff0c;所以运行都是正常的&#xff0c;但是发布成单个文件后发现使用&#xff1a; var basePath Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)); 获取不到应用程序所在的路径了。 找一下几个获取本程…

从混乱到有序:企业级在线文档助力中小企业数字化转型的蜕变

在当今数字化浪潮下&#xff0c;企业的数字化转型已成为行业发展的必然趋势。他们数字化转型的痛点在哪里&#xff1f;资金有限、技术人才短缺和管理的复杂性等。很多时候&#xff0c;它们的文件管理比较混乱&#xff0c;大量的知识和数据分散在不同的系统&#xff0c;形成了数…

一篇文章了解URI

1、Uri介绍 在现代网络应用中&#xff0c;URI&#xff08;Uniform Resource Identifier&#xff0c;统一资源标识符&#xff09;是一个重要的概念。URI用于标识互联网上的资源&#xff0c;无论是一个网页、一张图片、还是一个视频文件&#xff0c;URI都可以唯一地指向这些资源。…

Docker 常见容器 第三方镜像地址 Docker国内镜像 docker国内镜像 docker镜像

Docker 常见容器 第三方镜像地址 Docker国内镜像 docker国内镜像 docker镜像 Docker 常见容器 第三方镜像地址 Docker国内镜像 docker国内镜像 docker镜像1、MySQL2、Redis3、Redis-Stack4、Redis-Stack-Server5、ElasticSearch6、Kibana7、ElasticSearch-Head8、Nginx9、Rabbi…

Web后端开发概述环境搭建项目创建servlet生命周期

Web开发概述 web开发指的就是网页向后再让发送请求,与后端程序进行交互 web后端(javaEE)程序需要运行在服务器中 这样前端才可以对其进行进行访问 什么是服务器? 解释1: 服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件&#xff0c;让…

MySQL:MySQL总结

文章目录 MySQL思维导图基础实际在 Innodb 存储引擎中&#xff0c;会用一个特殊的记录来标识最后一条记录&#xff0c;该特殊的记录的名字叫 supremum pseudo-record &#xff0c;所以扫描第二行的时候&#xff0c;也就扫描到了这个特殊记录的时候&#xff0c;会对该主键索引加…

OpenCV 张正友标定法(二)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在之前的博客OpenCV 张氏标定法中,我们没有考虑镜头畸变等因素,因此计算出的内参与外参均是理想情况下的数值,而如果我们考虑到镜头的畸变: 我们就需要考虑使用最小二乘法最小化像素坐标的重投影误差(上述所求…

套接字的原理和作用机制

套接字&#xff08;Socket&#xff09;是实现网络通信的基础&#xff0c;它提供了在网络中进行数据传输的接口和机制。以下是关于套接字原理和作用机制的详细解释&#xff1a; 1. 套接字的基本概念 套接字&#xff1a;套接字是网络通信的端点&#xff0c;可以理解为通信链路的…

重温react-10(函数组件和类组件的ref获取方式)

App.js的代码 06是函数组件 07是类组件 import React, { useEffect, useRef } from react; import LearnFunction06 from ./LearnFunction06; // 函数组件和类组件的ref使用方式 import LearnFunction07 from ./LearnFunction07; // 函数组件和类组件的ref使用方式 export de…

dell服务器RAID5磁盘阵列出现故障的解决过程二——热备盘制作与坏盘替换过程

目录 背景方案概念全局热备&#xff08;Global Hot Spare&#xff09;&#xff1a;独立热备&#xff08;Dedicated Hot Spare&#xff09;&#xff1a; 过程8号制作成热备清除配置制作独立热备热备顶替坏盘直接rebuild 更换2号盘2号热备 注意注意事项foreign状态要先清除配置 背…

【Mac】Boxy SVG for Mac(矢量图编辑器)及同类型软件介绍

软件介绍 Boxy SVG 是一款功能强大的矢量图形编辑器&#xff0c;专门为 macOS 平台设计开发。它主要用于创建和编辑 SVG&#xff08;可缩放矢量图形&#xff09;文件&#xff0c;是设计师和开发者们制作矢量图形的理想工具。 以下是关于 Boxy SVG 的主要特点和功能&#xff1a…

Rural Access Index (RAI)农村通达指数

农村通达指数&#xff08;RAI&#xff09; 简介 农村通达指数&#xff08;RAI&#xff09;是全球交通领域最重要的发展指标之一。它是目前可持续发展目标中唯一一个直接衡量农村通达性的指标&#xff0c;通过评估农村人口的四季道路通达性来实现。在 2015 年作为可持续发展目…