当前位置: 首页 > 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 多态的形式&…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...