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

postman接口工具的详细使用教程

Postman 是一种功能强大的 API 测试工具,可以帮助开发人员和测试人员轻松地发送 HTTP 请求并分析响应。以下是对 Postman 接口测试工具的详细介绍:

  1. 安装与设置

安装步骤 访问 Postman 官网,点击右上角的“Download”按钮。
选择你的操作系统(Windows、macOS、Linux),下载相应的安装包。 运行安装包,按照提示完成安装。 设置步骤 安装完成后,启动
Postman。 注册或登录你的 Postman 账户,可以使用 Google 账户快速登录。 登录后,你可以同步你的数据到 Postman
云端,方便在不同设备间切换。

  1. Postman 的用户界面主要由以下几个部分组成:

顶部导航栏 New: 创建新请求、集合、环境、工作区等。 Import: 导入请求、集合、环境等文件(支持多种格式,如
JSON、HAR、Curl)。 Runner: 打开集合运行器,用于批量运行集合中的请求。 Tools: 访问附加工具,如 API
监控、Mock 服务等。 Explore: 浏览公开的 API 和集合。 Settings: 配置 Postman
的各种设置,如主题、快捷键、代理等。 侧边栏 Collections: 管理你的集合,可以创建、编辑、删除和导出集合。 APIs: 管理你的
API 定义,可以创建、编辑和版本控制 API。 Environments: 管理环境变量,可以创建、编辑和删除环境。 Mock
Servers: 创建和管理 Mock 服务器,用于模拟 API 响应。 Monitors: 创建和管理监控任务,定期运行集合并监控 API
可用性。 History: 查看你发送的请求历史记录,可以快速重新发送请求。 请求构建区 Request URL: 输入请求的
URL,可以使用环境变量。 HTTP 方法: 选择请求的方法,如 GET、POST、PUT、DELETE 等。 Params:
添加查询参数,Postman 会自动将参数附加到 URL 后面。 Authorization: 配置请求的授权方式,如 Basic
Auth、Bearer Token、OAuth 2.0 等。 Headers: 添加请求头信息,可以自定义头部或选择常用头部。 Body:
配置请求的主体,可以选择多种格式,如
form-data、x-www-form-urlencoded、raw(JSON、XML、Text)、binary 等。
Pre-request Script: 编写预请求脚本,在请求发送前执行,用于动态设置请求参数。 Tests:
编写测试脚本,在请求发送后执行,用于验证响应数据。 响应显示区 Status: 显示响应状态码和状态信息。 Time: 显示请求的响应时间。
Size: 显示响应的大小。 Body: 显示响应主体,可以选择多种格式查看(如 JSON、HTML、Text、XML 等)。
Cookies: 显示响应的 Cookies 信息。 Headers: 显示响应头信息。

  1. 主要功能详解

发送 HTTP 请求 在 Postman 中创建一个新请求。 输入请求的 URL 和选择请求方法(如 GET)。
如果需要,添加查询参数、请求头、请求主体等。 点击“发送”(Send)按钮,Postman 会发送请求并显示响应。 参数化请求
创建环境变量:点击右上角的齿轮图标,选择“Manage Environments”,然后创建一个新的环境,添加变量及其值。
使用环境变量:在请求的 URL、头部、主体中使用环境变量,如 {{baseUrl}}/api/v1/resource。
选择环境:在发送请求前,从环境下拉菜单中选择相应的环境。 验证响应 编写测试脚本:在请求的“Tests”标签页中,编写 JavaScript
脚本来验证响应数据。

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});
pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);
});
pm.test("Response contains userId", function () {var jsonData = pm.response.json();pm.expect(jsonData).to.have.property('userId');
});

发送请求后,Postman 会自动执行测试脚本,并显示测试结果。 API 文档生成 在 Postman 中创建和组织你的 API
请求和集合。 在集合上点击右键,选择“Generate Collection Documentation”。 配置文档的标题、简介等信息。
Postman 会生成一个漂亮的 API 文档页面,你可以分享这个文档链接给其他团队成员或开发者。 流程控制
打开集合运行器(Collection Runner)。 选择要运行的集合和环境。 配置运行选项,如迭代次数、延迟时间等。
点击“Run”按钮,Postman 会按顺序执行集合中的所有请求,并显示每个请求的执行结果。 Mock 服务 在 Postman
中创建一个新的 Mock 服务器。 定义 Mock 响应的路径、方法、状态码和响应体。 生成 Mock 服务器的 URL,可以将其用作
API 开发和测试的临时替代品。 自动化测试 安装 Newman 命令行工具:在终端中运行 npm install -g newman。
导出集合:在 Postman 中点击集合右上角的“…”按钮,选择“Export”,并选择导出的格式(如 JSON)。
运行集合:在终端中运行 newman run path/to/your_collection.json。 配置 CI/CD:将 Newman
集成到你的 CI/CD 管道中,实现自动化测试。

  1. 使用示例

创建一个简单的 POST 请求 打开 Postman 并登录。 点击“新建”(New)按钮,选择“请求”(Request)。
输入请求的名称和选择保存的集合。 在请求 URL 中输入 API 的 URL。 选择请求方法为 POST。
在“Body”标签页中,选择“raw”并将格式设置为 JSON,然后输入请求主体,例如:

{"name": "John Doe","email": "john.doe@example.com"
}

点击“发送”(Send)按钮,查看响应数据。 使用环境变量和预请求脚本 创建环境变量:点击右上角的齿轮图标,选择“Manage
Environments”,创建一个新的环境,添加变量 baseUrl 和 authToken。
编写预请求脚本:在请求的“Pre-request Script”标签页中,编写脚本设置动态参数,例如:

pm.environment.set("currentTimestamp", new Date().toISOString());
使用环境变量:在请求 URL 中使用 {{baseUrl}}/api/v1/resource,在请求头中添加 Authorization: Bearer {{authToken}}

发送请求并查看结果。 编写复杂的测试脚本 在请求的“Tests”标签页中,编写复杂的测试脚本,例如:

pm.test("Check multiple conditions", function () {var jsonData = pm.response.json();pm.expect(jsonData).to.have.property('userId');pm.expect(jsonData.userId).to.equal(1);pm.expect(jsonData).to.have.property('title');pm.expect(jsonData.title).to.be.a('string');
});
pm.test("Response time is less than 500ms", function () {pm.expect(pm.response.responseTime).to.be.below(500);
});
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});

通过这些详细的介绍和示例,希望能帮助你更全面地理解和使用 Postman 工具,提高 API 测试的效率和质量。

相关文章:

postman接口工具的详细使用教程

Postman 是一种功能强大的 API 测试工具,可以帮助开发人员和测试人员轻松地发送 HTTP 请求并分析响应。以下是对 Postman 接口测试工具的详细介绍: 安装与设置 安装步骤 访问 Postman 官网,点击右上角的“Download”按钮。 选择你的操作系统…...

C语言经典例题-17

1.最小公倍数 正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数,设计一个算法,求输入A和B的最小公倍数。 输入描述:输入两个正整数A和B。 输出描述:输出A和B的最小公倍数。 输入:5 7 输出&#xff1a…...

鸿蒙学习(-)

.ets文件结构 //页面入口 Entry //组件 Component struct test{//页面结构build(){//容器 **一个页面只能有一个根容器,父容器要有大小设置**}1、Column 组件 沿垂直方向布局的组件,可以包含子组件 接口 Column({space}) space的参数为string | numbe…...

【TB作品】MSP430G2553,单片机,口袋板, 烘箱温度控制器

题3 烘箱温度控制器 设计一个基于MSP430的温度控制器,满足如下技术指标: (1)1KW 电炉加热,最度温度为110℃ (2)恒温箱温度可设定,温度控制误差≦2℃ (3)实时显…...

PCM、WAV,立体声,单声道,正弦波等音频素材

1)PCM、WAV音频素材,分享给将要学习或者正在学习audio开发的同学。 2)内容属于原创,若转载,请说明出处。 3)提供相关问题有偿答疑和支持。 常用的Audio PCM WAV不同采样率,不同采样深度&#…...

基于深度学习的图像去雾

基于深度学习的图像去雾 图像去雾是指从有雾的图像中恢复清晰图像的过程。传统的图像去雾方法(如暗原色先验、图像分层法等)在某些情况下表现良好,但在复杂场景下效果有限。深度学习方法利用大量的数据和强大的模型能力,在图像去…...

中国电子学会青少年编程等级考试真题下载

全国青少年软件编程等级考试真题下载,有答案解析 1. 图形化Scratch一级下载 链接:https://pan.baidu.com/s/1C9DR9-hT1RUY3417Yc8RZQ?pwdg8ac 提取码:g8ac 2.图形化Scratch二级下载 链接:https://pan.baidu.com/s/1HI7GaI4ii…...

PostMan动态设置全局变量

1. 前言 在开发过程中调试接口,一般都会使用PostMan。 其中有几个变量可能是好几个接口共用的,就会出现频繁手动复制(ctrlc)、粘贴(ctrlv)的情况。 这个过程得非常留意,生怕复制错了,或删减了某些东西,导致接口报错。…...

ACL 2023事件相关(事件抽取、事件关系抽取、事件预测等)论文汇总

ACL 2023事件抽取相关(事件抽取、事件关系抽取、事件预测等)论文汇总,后续会更新全部的论文讲解。 Event Extraction Code4Struct: Code Generation for Few-Shot Event Structure Prediction 数据集:ACE 2005 动机:与自然语言相比&#xf…...

力扣:59. 螺旋矩阵 II(Java,模拟)

目录 题目描述示例 1:代码实现 题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5…...

记录SpringBoot启动报错解决

记录SpringBoot启动报错解决 报错现场 Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following:If you want an embedde…...

微软代码页标识符 (Code Page Identifiers)

代码页标识符 (Code Page Identifiers) 双语对照 Identifiere标识符.NET Name.NET 名称Additional information其他信息037IBM037IBM EBCDIC US-CanadaIBM EBCDIC US-Canada437IBM437OEM United StatesOEM 美国500IBM500IBM EBCDIC InternationalIBM EBCDIC 国际字符集708ASMO…...

刷题——二叉树的后续遍历

方法一&#xff1a;双指针法 void postorder(TreeNode* root, vector<int>&res){if(root NULL) return;postorder(root->left,res);postorder(root->right,res);res.push_back(root->val);}vector<int> postorderTraversal(TreeNode* root) {// wri…...

用友U8 Cloud smartweb2.showRPCLoadingTip.d XXE漏洞复现

0x01 产品简介 用友U8 Cloud 提供企业级云ERP整体解决方案,全面支持多组织业务协同,实现企业互联网资源连接。 U8 Cloud 亦是亚太地区成长型企业最广泛采用的云解决方案。 0x02 漏洞概述 用友U8 Cloud smartweb2.showRPCLoadingTip.d 接口处存在XML实体,攻击者可通过该漏…...

React中的事件绑定的四种方式

1.在构造函数中绑定事件 constructor(props) {super(props);this.handleClick this.handleClick.bind(this);}2.在调用时显式绑定 <button onClick{this.handleClick.bind(this)}>Click me</button>3.使用箭头函数 handleClick () > {console.log(Button cli…...

小文件过多的解决方法(不同阶段下的治理手段,SQL端、存储端以及计算端)

上一篇介绍了小文件出现的原因以及为什么治理小文件问题迫在眉睫&#xff0c;本篇将为读者讲述在不同阶段下小文件治理的最佳手段以及如何针对性的解决小文件过多的问题。 小文件过多如何解决、治理方法 小文件是特别常见的现象&#xff0c;解决小文件问题迫在眉睫&#xff0…...

SGPT论文阅读笔记

这是篇想要用GPT来提取sentence embedding的工作&#xff0c;提出了两个框架&#xff0c;一个是SGPT-BE&#xff0c;一个是SGPT-CE&#xff0c;分别代表了Bi-Encoder setting和Cross-Encoder setting。CE的意思是在做阅读理解任务时&#xff0c;document和query是一起送进去&am…...

虚拟机与主机的网络桥接

虚拟机网路桥接是一种网络配置方式&#xff0c;它允许虚拟机与物理网络中的其他设备直接通信。在桥接模式下&#xff0c;虚拟机的网络接口通过主机的物理网卡连接到局域网中&#xff0c;就像主机本身一样&#xff0c;拥有自己的MAC地址和IP地址。这种方式使得虚拟机可以像独立的…...

urfread刷算法题day1|LeetCode2748.美丽下标的数目

题目 题目链接 LeetCode2748.美丽下标对的数目 题目描述 给你一个下标从 0 开始的整数数组 nums 。 如果下标对 i、j 满足 0 ≤ i < j < nums.length &#xff0c; 如果 nums[i] 的 第一个数字 和 nums[j] 的 最后一个数字 互质 &#xff0c; 则认为 nums[i] 和 nums…...

面向对象修炼手册(四)(多态与空间分配)(Java宝典)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;面向对象修炼手册 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 1 多态 1.1 多态的形式&…...

大语言模型如何赋能数据工程:dbt-llm-agent架构解析与实践指南

1. 项目概述&#xff1a;当数据工程师遇上大语言模型最近在数据圈里&#xff0c;一个开源项目pragunbhutani/dbt-llm-agent引起了我的注意。作为一名和数据管道、dbt&#xff08;Data Build Tool&#xff09;打了多年交道的工程师&#xff0c;我第一眼看到这个标题就嗅到了一丝…...

超大规模云服务外计算资源交易:虽有风险但概念已验证,或成新资源获取选项

经济合理性这一趋势积极面易理解。一是价格&#xff0c;有多余计算能力的非超大规模云服务提供商成本结构等与主要供应商不同&#xff0c;闲置资源或低价出售&#xff0c;对控制成本企业重要。二是效率&#xff0c;利用已有计算能力满足需求&#xff0c;无需新建数据中心等&…...

桌面图标混乱终结者:用NoFences免费开源工具实现高效桌面管理

桌面图标混乱终结者&#xff1a;用NoFences免费开源工具实现高效桌面管理 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为杂乱无章的桌面图标而烦恼吗&#xff1f;每天…...

AM335x嵌入式开发实战:从硬件设计到软件调试的避坑指南

1. 项目概述&#xff1a;为什么AM335x值得深挖&#xff0c;又为何“坑”多&#xff1f;如果你正在嵌入式领域&#xff0c;尤其是工业控制、人机交互或者物联网网关这些方向选型&#xff0c;TI的AM335x系列处理器大概率会进入你的视野。这颗基于ARM Cortex-A8内核的芯片&#xf…...

程序员35岁转型记:我如何成为AI产品经理?

当“质量守卫者”遇见职业天花板如果你是一名软件测试工程师&#xff0c;你一定熟悉这样的场景&#xff1a;凌晨三点还在盯着自动化脚本的运行日志&#xff0c;白天反复和开发争论一个缺陷的定级&#xff0c;周报里写满了用例覆盖率和漏测率&#xff0c;但晋升答辩时评委却问你…...

嵌入式扫码模组:POS机核心部件技术解析与选型指南

1. 项目概述&#xff1a;固定式POS机里的“眼睛”与“大脑”如果你拆开过一台超市、便利店或者餐厅里常见的固定式POS机&#xff0c;可能会发现一个有趣的现象&#xff1a;那个用来扫商品条码的“窗口”或“枪口”&#xff0c;其内部结构远比我们想象的要精密。它不是一个简单的…...

Lyrebird常见问题排查手册:解决无法启动和音频延迟的终极方案

Lyrebird常见问题排查手册&#xff1a;解决无法启动和音频延迟的终极方案 【免费下载链接】lyrebird &#x1f99c; Simple and powerful voice changer for Linux, written with Python & GTK 项目地址: https://gitcode.com/gh_mirrors/lyr/lyrebird Lyrebird是一…...

Vue2项目里,如何用DHTMLX Gantt实现任务搜索、今日线定位和视图切换?这些实用功能我帮你搞定了

Vue2项目中DHTMLX Gantt三大进阶功能实战&#xff1a;搜索、今日线与视图切换 在项目管理工具的开发中&#xff0c;甘特图作为核心可视化组件&#xff0c;其交互体验直接决定了用户的使用效率。本文将聚焦三个高频需求场景&#xff0c;手把手教你如何在已有DHTMLX Gantt集成的V…...

性价比高的AI应用厂家

核心结论&#xff1a; 当前市面上AI应用厂商众多&#xff0c;但真正能做到“高性价比”的&#xff0c;必须同时满足三个条件&#xff1a;功能覆盖企业核心痛点&#xff08;管理、销售、运营&#xff09;、落地效果可量化&#xff08;降本增效有数据支撑&#xff09;、成本可控&…...

运放噪声深度解析:从原理到工程实践的计算与优化

1. 项目概述&#xff1a;为什么我们需要关心运放的噪声&#xff1f;如果你曾经调试过一个高精度的信号调理电路&#xff0c;比如一个微弱的传感器信号放大链路&#xff0c;或者一个高分辨率的ADC前端&#xff0c;你大概率遇到过这样的场景&#xff1a;理论上&#xff0c;你的电…...