一文搞定Postman(菜鸟必看)

news2024/11/20 1:34:50

什么是Postman?

Postman是一个可扩展的 API 测试工具,可以快速集成到 CI/CD 管道中。它于 2012 年作为 Abhinav Asthana 的一个副项目启动,旨在简化测试和开发中的 API 工作流程。API 代表应用程序编程接口,它允许软件应用程序通过 API 调用相互通信。

为什么使用Postman?

如今,Postman 软件拥有超过 400 万用户,已成为接口调试/测试首选工具,原因如下:

  1. 便捷性——要使用Postman工具,只要计算机上安装了Postman应用程序,登录自己的帐户,就可以随时随地轻松访问文件。

  2. collection的使用 – Postman 允许用户为其 Postman API 调用创建collection。每个collection可以创建子文件夹和多个请求。这有助于组织您的测试套件。

  3. 协作 – 可以导入或导出collection和环境,从而轻松共享文件。直接链接也可用于共享collection。

  4. 创建环境——拥有多个环境有助于减少测试的重复,因为可以使用相同的collection用于不同的环境。这是进行参数化的地方,我们将在以后的课程中讨论这一点。

  5. 创建测试 – 可以将测试检查点(例如验证 HTTP 响应状态是否成功)添加到每个 Postman API 调用中,这有助于确保测试覆盖率。

  6. 自动化测试 – 通过使用 Collection Runner 或 Newman,可以多次迭代运行测试,从而节省重复测试的时间。

  7. 调试 – Postman 控制台有助于检查检索了哪些数据,从而可以轻松调试测试。

  8. 持续集成——凭借其支持持续集成的能力,可以维护开发实践。

如何使用Postman执行API

下面是Postman工作区。让我们逐步探索如何使用 Postman工具。

图片

  1. 新建 – 在此处创建新的请求、collection或环境。

  2. 导入 – 用于导入collection或环境。有从文件、文件夹导入、链接或粘贴原始文本等选项。

  3. Runner – 可以通过 Collection Runner 执行自动化测试。这将在下一课中进一步讨论。

  4. 打开新窗口 – 单击此按钮打开新选项卡、Postman 窗口或 Runner 窗口。

  5. 我的工作区 – 您可以单独或作为团队创建新的工作区。

  6. invite – 通过邀请团队成员在工作空间中进行协作。

  7. 历史记录 – 您过去发送的请求将显示在历史记录中。这样可以轻松跟踪您所做的操作。

  8. collection – 通过创建collection来组织您的测试套件。每个collection可能有子文件夹和多个请求。请求或文件夹也可以复制。

  9. 请求选项卡 – 显示正在打开的请求标题。默认情况下,对于没有标题的请求,将显示“无标题请求”。

  10. HTTP 请求 – 单击此按钮将显示不同请求的下拉列表,例如 GET、POST、COPY、DELETE 等。在 Postman API 测试中,最常用的请求是 GET 和 POST。

  11. 请求URL – 可以在此处输入 API 。

  12. 保存 – 如果请求有更改,必须单击“保存”,以免新更改丢失或被覆盖。

  13. params – 可以在此处写入请求所需的参数,例如键值。

  14. 鉴权 – 为了访问 API,需要适当的授权。它可以是用户名和密码、不记名令牌等形式。

  15. headers – 可以根据组织的需要设置标头,例如内容类型 JSON。

  16. body – 可以在此处自定义 POST 请求中常用的请求中的详细信息。

  17. 请求预处理脚本 – 这些脚本将在请求之前执行。通常,设置环境的预请求脚本用于确保测试将在正确的环境中运行。

  18. 测试模块 – 这些是在请求期间执行的脚本。进行测试很重要,因为它设置检查点来验证响应状态是否正常、检索到的数据是否符合预期以及其他测试。

使用 GET 请求

Get 请求用于从给定 URL 信息。我们将在本 Postman 教程中的所有示例中使用以下 URL

https://jsonplaceholder.typicode.com/users		

在工作区中

  1. 将HTTP 请求设置为 GET。

  2. 在请求 URL 字段中输入链接

  3. 单击发送

  4. 将看到 200 OK 消息

  5. body 中应该有 10 个用户结果,这表明写的测试已成功运行。

图片

处理 POST 请求

Post 请求与 Get 请求不同,因为用户将数据添加到端点时会进行数据操作。

步骤 1) 单击新选项卡以创建新请求。

图片

步骤 2) 在新选项卡中

  1. 将 HTTP 请求设置为 POST。

  2. 在请求网址中输入相同的链接:https://jsonplaceholder.typicode.com/users

  3. 切换到“body”选项卡

图片

步骤3)在body中,

  1. 单击原始

  2. 选择 JSON

图片

步骤 4)仅复制并粘贴上一个获取请求的一个用户结果,如下所示。确保已使用成对的大括号和方括号正确复制代码。将 id 更改为 11,将 name 更改为任何所需的名称。您还可以更改其他详细信息,例如地址。

[
    {
        "id": 11,
        "name": "Krishna Rungta",
        "username": "Bret",
        "email": "Sincere@april.biz",
        "address": {
            "street": "Kulas Light",
            "suite": "Apt. 556",
            "city": "Gwenborough",
            "zipcode": "92998-3874",
            "geo": {
                "lat": "-37.3159",
                "lng": "81.1496"
            }
        },
        "phone": "1-770-736-8031 x56442",
        "website": "hildegard.org",
        "company": {
            "name": "Romaguera-Crona",
            "catchPhrase": "Multi-layered client-server neural-net",
            "bs": "harness real-time e-markets"
        }
    }
]

图片

图片

步骤 5) 接下来,

  1. 单击发送。

  2. 状态:显示201 created

  3. 发布的数据显示在body中。

图片

如何参数化请求

数据参数化是 Postman 最有用的功能之一。可以使用带有参数的变量,而不是使用不同的数据创建相同的请求。这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,并且迭代可用于自动化测试。

参数是通过使用双大括号创建的:{{sample}}。让我们看一下之前请求中使用参数的示例:

图片

现在让我们创建一个参数化 get 请求。

步骤1)

  1. 将 HTTP 请求设置为 GET

  2. 输入此链接:https://jsonplaceholder.typicode.com/users。将链接的第一部分替换为参数,例如 {{url}}。请求 url 现在应为 {{url}}/users。

  3. 单击发送。

因为我们还没有设置参数的来源,所以不应该有任何响应。

图片

步骤2)使用参数需要设置环境变量

  1. 单击“眼睛”图标

  2. 单击编辑将变量设置为可在所有collection中使用的全局环境。

图片

步骤3) 在变量中,

  1. 将名称设置为 url,即 https://jsonplaceholder.typicode.com

  2. 单击“save”。

图片

步骤 4)如果看到下一个页面,请单击“关闭”

图片

步骤 5)返回请求,然后单击发送,展示请求结果。

图片

如何创建Postman测试

Postman 测试是添加到请求中的 JavaScript 代码,可帮助用户验证结果,例如成功或失败状态、预期结果比较等。它通常以 pm.test 开头。它可以与其他工具中可用的断言、验证命令进行比较。

让我们使用 Postman 对上一课中的参数化请求进行一些基本的API 测试。

步骤 1)转到上一教程中的 GET 用户请求。

  1. 切换到测试选项卡,右侧是片段代码。

  2. 在代码片段部分中,单击“状态代码:代码为 200。


 

图片

步骤 2)现在单击发送,显示测试结果。

图片

步骤 3)返回测试选项卡,让我们添加另一个测试。这次我们将预期结果与实际结果进行比较。

在代码片段部分中,单击“响应body:JSON 值检查”。我们将检查 Leanne Graham 是否具有用户 ID 1。

图片

步骤4)

  1. 将代码中的“您的测试名称”替换为“检查 id1 的用户是否是 Leanne Graham”,以便测试名称准确指定我们要测试的内容。

  2. 将 jsonData.value 替换为 jsonData[0].name。要获取路径,请先检查获取结果中的body。由于 Leanne Graham 的用户 ID 为 1,因此 jsonData 位于第一个结果中,该结果应从 0 开始。如果您想获取第二个结果,请使用 jsonData[1] 等获取后续结果。

  3. 在 eql 中,输入“Leanne Graham”

pm.test("Check if user with id1 is Leanne Graham", function () {    var jsonData = pm.response.json();    pm.expect(jsonData[0].name).to.eql("Leanne Graham");});

图片

步骤 5)单击发送。现在有两个针对请求已通过的测试结果。

图片

如何创建collections

collection在组织测试套件中发挥着重要作用,它可以导入和导出,从而可以轻松地在团队之间共享collection。在本教程中,我们将学习如何创建和执行collection。

让我们开始创建一个collection:

步骤1)点击页面左上角的新建按钮。

图片

步骤 2)选择collection,弹出创建collection窗口。

图片

步骤3)输入所需的collection名称和描述,然后单击创建。

图片

步骤4)返回之前的Get请求,单击“保存”

图片

步骤5)

  1. 选择Postman测试collection。

  2. 单击“保存到 Postman Test collection”

图片

步骤 6) Postman Test collection现在包含一个请求。

图片

步骤 7)对之前的 Post 请求重复步骤 4-5,以便collection现在有两个请求。

图片

如何使用 Collection Runner 运行collection

运行collection有两种方法,即 Collection Runner 和 Newman。让我们首先在 Collection Runner 中执行collection。

步骤 1)单击页面顶部“import”按钮旁边的“Runner”按钮。

图片

步骤 2) Collection Runner 页面应如下所示,以下是各个字段的说明

图片

步骤 3)通过设置以下内容来运行 Postman 测试collection:

  • 选择Postman Test collection-设置迭代次数为3

  • 设置延迟为2500毫秒

  • 单击运行 ...按钮

图片

步骤 4) 单击“运行”按钮后,应显示“运行结果”页面,可以看到测试的执行情况。

  1. 测试完成后,可以查看测试状态(通过或失败)以及每次迭代的结果。

  2. 会看到获取请求的通过状态

  3. 由于我们没有对 Post 进行任何测试,因此有一条消息表明该请求没有进行任何测试。

图片

如何使用 Newman 运行collection

运行collection的另一种方式是通过 Newman。Newman 和 Collection Runner 之间的主要区别如下:

  1. Newman 是 Postman 的附加组件。您需要将其与本机应用程序分开安装。

  2. Newman 使用命令行,而 Collection Runner 有 GUI。

  3. Newman可用于持续集成。

要安装 Newman 并从中运行我们的collection,请执行以下操作:

步骤1)使用此链接安装nodejs:http://nodejs.org/download/

步骤2)打开命令行并输入

npm install -g newman

图片

步骤 3)安装 Newman 后,让我们返回 Postman 工作区。在“collection”框中,单击三个点,现在应该出现选项,选择export。

图片

步骤 4)选择将collection导出为collection v2.1(推荐),然后单击导出。

图片

步骤 5)选择所需的位置,然后单击“保存”。建议为 Postman 测试创建一个特定的文件夹。

步骤 6)我们还需要导出我们的环境。单击“全局”中环境下拉列表旁边的眼睛图标,选择“下载为 JSON”。选择所需保存的位置,然后单击“保存”。建议环境与collection位于同一文件夹中。

图片

步骤 7)现在应该将环境导出到与 Collection 相同的本地目录。

步骤 8)现在返回命令行并将目录更改为保存collection和环境的位置。

 
 cd C:\Users\Asus\Desktop\Postman Tutorial

步骤 9)使用以下命令运行collection:

 newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json
 
运行结果现在应如下所示。

图片

作为指导,请参考一些用于执行的基本纽曼代码:

  1. 仅运行collection。如果没有环境或测试数据文件依赖性,则可以使用此方法。

newman run <collection name>
  1. 运行collection和环境。-e 指示符用于环境。

newman run <collection name> -e <environment name>
  1. 使用所需的编号运行collection,迭代次数。

newman run <collection name> -n <no.of iterations>

  1. 使用数据文件运行。

newman run <collection name> --data <file name>  -n <no.of iterations> -e <environment name>
  1. 设置延迟时间。这很重要,因为如果由于请求在端点服务器上的前一个请求完成处理之前就启动而没有延迟地运行,则测试可能会失败。

newman run <collection name> -d <delay time>

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

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

相关文章

【JVM】类加载器

类与类加载器 类加载器虽然只用于实现类的加载动作&#xff0c;但它在Java程序中起到的作用却远超类加载阶段。对于任意一个类&#xff0c;都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性&#xff0c;每 一个类加载器&#xff0c;都拥有一个独立的…

k8s 中master 与node的通信

一、Master 节点与 Node 节点通讯原理 Master 节点启动时&#xff0c;会运行一个 kube-apiserver 进程&#xff0c;它提供了集群管理的 API 接口&#xff0c;是集群内各个功能模块之间数据交互和通信的中心枢纽&#xff0c;并且它页提供了完备的集群安全机制。在 Node 节点上&a…

【新品发布】洛微科技全新工业级高性能 D系列 TOF相机D3重磅上线!

近日&#xff0c;洛微科技对外发布新款高性能D系列 TOF相机D3&#xff0c;这是一款专为工业环境中高性能操作设计的3D TOF智能相机。 D3基于行业领先的Sony DepthSense像素技术开发&#xff0c;具有毫米级测量精度、VGA深度分辨率、抗环境光能力强、软/硬件多触发方式、HDR适配…

夸克扫描王识别精度领跑行业 愿携手各方伙伴探索AIGC应用新范式

日前&#xff0c;在“AIGC与场景化应用创新”主题研讨会上&#xff0c;阿里智能信息事业群夸克视觉技术负责人黄锐华分享了AI技术应用于扫描场景的最新成果。他表示&#xff0c;AIGC给手机扫描产品打开了创新空间&#xff0c;搭载大模型技术的夸克扫描王对识别手写字体、复杂公…

【验证码逆向专栏】螺丝帽人机验证逆向分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供完整代码&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 本文章未…

Maven 查看项目中的依赖

文章目录 通过 Maven 命令查看依赖dependency:listdependency:tree将命令结果输出到文档 视图化查看依赖Maven HelperIDEA 自带工具 想查看项目中使用的依赖列表时&#xff0c;可以参考下面几种方式 通过 Maven 命令查看依赖 在有 pom.xml 的路径下&#xff0c;通过命令行工…

人工智能(pytorch)搭建模型19-手把手利用pytorch框架搭建目标检测DarkNet模型,并展现网络结构

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型19-手把手利用pytorch框架搭建目标检测DarkNet模型&#xff0c;并展现网络结构。随着深度学习技术的不断发展&#xff0c;各种卷积神经网络模型层出不穷&#xff0c;其中DarkNet作为一种快…

CMD脚本实战教程

要在 Windows 11 上编写一个自定义关机的 CMD 脚本文件&#xff0c;你可以创建一个扩展名为 .bat 或 .cmd 的文本文件&#xff0c;并在其中编写脚本。 一、常用语法 rem&#xff1a;注释 pause&#xff1a;暂停正在执行的批处理文件&#xff0c;并提示用户按键之后继续执行 r…

VisualStudio2017社区版安装完毕后,找不到stdio.h等头文件的解决方案

安装完VisualStudio2017社区版后&#xff0c;创建一个C的测试项目&#xff0c;好使&#xff0c;一时心血来潮创建了纯C的项目&#xff0c;结果死活提示找不到头文件“stdio.h”&#xff0c;测试代码如下&#xff1a; #include<stdio.h>int main() {printf("Hello w…

超详细 | CISP-信息安全专业认证考前攻略

近年来&#xff0c;中央关于信息安全的政策不断加码&#xff0c;网络安全已上升到国家战略&#xff0c;安全专业人才缺口以每年1.5万人的速度递增。作为信息安全从业人员&#xff0c;持证上岗已是大势所趋。今天&#xff0c;重点聊一下信息安全国内第一认证CISP&#xff01; 注…

关于表单快速开发低代码技术平台的内容介绍

运用什么样的表单快速开发软件平台可以实现高效率创收&#xff1f;随着科技的进步和飞速发展&#xff0c;专业的低代码技术平台已经走入了很多企业的办公职场中&#xff0c;它们灵活、轻量级、优质、高效、易维护等优势特点&#xff0c;可以高效助力广大企业提质增效&#xff0…

php代码审计篇bluecms代码审计

文章目录 Seay自动审计源码分析/ad_js.php文件sql注入分析/include/common.fun.php注入分析/admin/login.php存在宽字节注入分析/admin/nav.php SQL注入分析前台注册界面存在存储型xss Seay自动审计 使用seay进行自动代码审计 源码分析 /ad_js.php文件sql注入分析 查看执行…

k8s-部署

1.k8s 集群与部署 更改所有主机名字和解析 k8s1 192.168.25.11 reg.westos.org,habbor 仓库 k8s2 192.168.25.12 master&#xff0c;k8s 集群控制节点 k8s3 192.168.25.13 node&#xff0c;k8s 集群工作节点 k8s4 192.168.25.14 node&#xff0c;k8s 集群工作节点 所有节…

不再跳票Fedora 26 正式发布!

经过延期和跳票&#xff0c;Fedora 26终于和大家见面了&#xff0c;下面是Fedora 项目负责人Matthew Miller感谢信 大家好&#xff0c;我很高兴地宣布&#xff0c;从即刻起 Fedora 26 正式可用了。你可以从下面了解到具体信息&#xff0c;也可以马上开始下载&#xff1a; •下载…

漫画工厂ai-comic-factory 文字2漫画

demo入口https://huggingface.co/spaces/jbilcke-hf/ai-comic-factory 最终展示 大概流程&#xff1a; 选漫画分格输入需要将啥故事X X 通过Llama2 70B 生成具体的每个分割图的描述YY 通过SDXL 生成图 LLM: llama-2 is used to generate the captions of 4 comic panels (pro…

【从0学习Solidity】 6. 引用类型, array, struct

【从0学习Solidity】 6. 引用类型, array, struct 博主简介&#xff1a;不写代码没饭吃&#xff0c;一名全栈领域的创作者&#xff0c;专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构&#xff0c;分享一些项目实战经验以及前沿技术的见解。关注我们的主页&…

软考证书可以评职称吗?怎么评?

软考是可以帮助评职称的&#xff0c;取得软考证书&#xff0c;就具备评职称的相应资格。 通过软考获得证书的人员&#xff0c;表明其已具备从事相应专业岗位工作的水平和能力&#xff0c;用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务&#xff08;技术员…

Python函数绘图与高等代数互融实例(三):设置X|Y轴文本标签|网格线

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数 Python函数绘图与高等代数互融实例(二):闪点函数 Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线 Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域 一: 设置X|Y轴文本标签 import num…

Python在工业自动化领域的应用详解

概要 当我们开始讨论在工业自动化应用中使用哪种编程语言时&#xff0c;通常我们会首先谈论IEC 61131-3标准中用于可编程逻辑控制器&#xff08;PLC&#xff09;的语言&#xff0c;比如经典的梯形图&#xff08;LD&#xff09;或结构化文本&#xff08;ST&#xff09;。对于机器…

OceanBase Docker体验

实验一&#xff1a;OceanBase Docker体验 通过 OceanBase Docker 容器&#xff0c;快速的体验 OceanBase 的 自动化部署过程&#xff0c;以及了解 OceanBase 集群安装成功后的目录特点和使用方法。 Docker镜像 实验环境 实验环境说明 1台OCP 5台OBSERVER aarch64 Kylin Lin…