如何使用Postman创建Mock Server?

这篇文章将教会大家如何利用 Postman,通过 Mock 的方式测试我们的 API。

什么是 Mock

Mock 是一项特殊的测试技巧,可以在没有依赖项的情况下进行单元测试。通常情况下,Mock 与其他方法的主要区别就是,用于取代代码依赖项的模拟对象允许设置期望值。简而言之,Mock 就是创建了一个对象,模拟真实对象的行为。

目的是什么

前端与后端的工作进度不同步,使得两方团队无法有效的完成工作。Postman 中的 Mock 服务器可以减轻团队开发过程中的这种不同步问题。开发可以在不启动后端的基础上,查看预期的响应结果。是一种快速开发的过程。

意义何在

在 API 开发的前期,构建 Mock 集合可以帮助开发团队之间清晰沟通,并尽快就预期结果达成一致。事实上,在开发过程中,所有的团队都可以并行工作,相互依赖的工作可以减少延期。

什么是 Mock 服务

Mock 服务不是一个真实的服务,他只是一个被伪装成真实服务的假服务。通过它,我们可以测试我们的 API 并检查结果正确与否。Postman 允许我们创建两种类型的 Mock 服务,私有的和公有的。

私有的 Mock 服务需要我们在请求头里面添加 Postman API key,例如:x-api-key:

公有 Mock 服务可以被任何人访问。所以使用过程中不需要添加 Postman API key。

如何使用Postman来做Mock Server?

如何使用 Postman 创建 Mock 服务

你可以点击工具栏里面的"New"按钮,或者在启动 Postman 的时候也会弹出这个选项。

如何使用 Postman 创建 Mock 服务

我们需要按照下面的步骤将 Mock 的完整内容添加到既有的集合里面,然后通过 Postman 的 Echo 服务模拟调用 API 的过程:

  • 1.发送请求(R1)
  • 2.将请求(R1)保存到集合里面(C1)
  • 3.将请求(R1)的响应保存到集合里面(C1)
  • 4.为集合 C1 创建一个 Mock(M1)
  • 5.使用 Mock 服务(M1)发送一个请求
  • 6.使用查询参数进行匹配

步骤 1、发送请求(R1)

使用 Postman,发送一个 GET 请求到 https://postman-echo.com/get?test=123  响应结果如下图所示:

如何使用 Postman 创建 Mock 服务

步骤 2、将请求(R1)保存到集合里面(C1)

点击 Save 按钮打开 SAVE REQUEST 对话框。你可以将请求保存到既有的集合里面,也可以新建一个集合保存。这里我们新建一个集合 C1,后续可以在 Collections 页签里面查看。

如何使用 Postman 创建 Mock 服务

步骤 3、将请求(R1)的响应保存到集合里面(C1)

点击 Save Response 按钮,保存请求 R1 的返回结果。

如何使用 Postman 创建 Mock 服务

这会跳转到下图所示的界面,在这里,可以将请求响应信息保存起来作为示例使用,作为示例使用。我们把这个示例叫做 P**1**

如何使用 Postman 创建 Mock 服务

关于请求的方式、URL、状态都很重要,可以用于评估创建的 Mock 会返回哪些响应。检查一下所有的这些元素是否符合要求,之后再点击 Save Example 按钮。点击左上角的返回按钮返回请求创建器,就可以在右上角看到我们创建的示例了,把它添加到我们的请求里面。

步骤 4、为集合 C1 创建一个 Mock(M1)

在 Postman 中,点击集合 C1 旁边的箭头 (▸) 打开详细信息页面,如果要打开 MOCK COLLECTION 对话框,在 Mocks 页签下面,点击 Create a Mock server 按钮。在这里,你可以把你的 Mock 服务包括在特定的环境里面,或者选择公有或者私有类型,作为默认的 Mock 服务类型。

如何使用 Postman 创建 Mock 服务

当你 Mock 了某个集合之后,集合的详细信息会显示在 Mock 页签下面。你也可以看到 接下来的步骤里面需要 Mock 的 URL。

步骤 5、使用 Mock 服务(M1)发送一个请求

目前我们已经设计好了我们的 Mock 服务 M1,现在我们试着请求一下这个 Mock 的端口。复制这个 Mock 的 URL,然后粘贴到我们上一步创建的 Mock 服务的新请求里面。

如何使用 Postman 创建 Mock 服务

Mock 服务的响应结果完全取决于你之前保存的示例以及包含的 URL 和请求方法类型。我们之前保存了一个示例,请求路径是 /get,请求方法是 GET。因此,向 /get 路径发送一个 GET 请求会得到符合我们预期的响应。

如何使用 Postman 创建 Mock 服务

步骤 6、使用查询参数进行匹配

Postman 对 Mock 服务的功能进行了扩展,可根据匹配的查询参数返回不同的响应结果。Mock 服务会根据查询参数匹配保存的示例。所以当你有且仅有查询参数存在差异的时候,并且你希望在相同的请求路径上为不同的查询参数模拟不同的响应时,Postman Mock 服务器将返回与请求路径和相应的查询参数匹配的确切答案。

结语

我们已经了解了如何创建集合、保存请求、保存示例、创建 Mock 并使用。

Postman 帐户每月提供有限数量的免费 Mock 服务器调用。你可以在 Postman API 或帐户使用页面查看你的使用限制。

如果上文漏掉了什么内容,欢迎留言补充。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

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

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

相关文章

CVPR2023 | 提升图像去噪网络的泛化性,港科大上海AILab提出 MaskedDenoising,已开源!

作者 | 顾津锦 首发 | AIWalker 链接 | https://mp.weixin.qq.com/s/o4D4mNM3jL6sYuhUC6VgoQ 当前深度去噪网络存在泛化能力差的情况,例如,当训练集噪声类型和测试集噪声类型不一致时,模型的性能会大打折扣。作者认为其原因在于网络倾向于过度…

Python 中 _ 开头的变量,你了解多少?

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

Python实现极限学习机分类模型(ELMClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 极限学习机(ELMClassifier)算法是一种基于单隐层前馈神经网络(SLFN…

大规模NN必知必会调参及优化规律

从理论分析入手把握大规模神经网络优化的规律,可以指导实践中的超参数选择。反过来,实践中的超参数选择也可以指导理论分析。本篇文章聚焦于大语言模型,介绍从 GPT 以来大家普遍使用的训练超参数的变化。 规模律研究的是随着神经网络规模的增…

【C语言】操作符相关知识点

移位操作符 << 左移操作符 >>右移操作符 左移操作符 移位规则&#xff1a; 左边抛弃、右边补0 右移操作符 移位规则&#xff1a; 首先右移运算分两种&#xff1a; 1.逻辑移位 左边用0填充&#xff0c;右边丢弃 2.算术移位 左边用原该值的符号位填充&#xff0c;…

上门服务小程序|上门服务系统成品功能包含哪些?

随着移动互联网的快速发展&#xff0c;上门服务小程序成为了一种创新的家政服务模式。它不仅为用户带来了极大的便利&#xff0c;还能在提高服务效率和质量方面发挥作用。通过上门服务小程序&#xff0c;用户可以轻松预约按摩或理疗服务&#xff0c;无需繁琐操作&#xff0c;只…

knife4j生产环境禁止打开页面

Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案&#xff0c;官网地址&#xff1a;Knife4j 集Swagger2及OpenAPI3为一体的增强解决方案. | Knife4j 考虑到安全性问题&#xff0c;在实际服务部署到生产环境后就需要禁用到swagger页面的展示&#xff0c;这个时候只需…

Spring使用RestTemplate返回的嵌套实体对象为空,转换json报错

项目场景&#xff1a; Spring Boot项目使用RestTemplate调用接口&#xff0c;使用嵌套实体对象接收的返回结果 实体对象TokenUser&#xff0c;其中TokenUserInfo是嵌套的对象&#xff1a; Data public class TokenUser {private Integer code;private TokenUserInfo data;pr…

类和对象(1)(至尊详解版)

相信对于大家而言&#xff0c;对于类和对象都会是一头雾水吧&#xff01;什么是类&#xff1f;或者你有对象吗&#xff1f;那么本期的内容呢&#xff1f;就由我来为大家再次增加对于它们的理解&#xff0c;由于水平上的原因&#xff0c;可能会存在不当之处&#xff0c;敬请读者…

C#双向链表:只用泛型节点类ListNode<T>设计的最短小的双向链表包含初始化链表数据和遍历链表各节点

目录 一、涉及到的知识点&#xff1a; 1.ListNode 类使用自动属性设计 2. 泛型节点类设计的误区 二、仅仅定义泛型节点类&#xff0c;实现最短的双向链表 一、涉及到的知识点&#xff1a; 1.ListNode 类使用自动属性设计 public class ListNode {public object Object { …

类与对象(三)--static成员、友元

文章目录 1.static成员1.1概念&#x1f3a7;面试题✒️1.2static的特性&#x1f3a7;1.3思考&#x1f3a7; 2.友元2.1什么是友元&#xff1f;&#x1f3a7;2.2两种友元关系&#xff1a;&#x1f3a7; 1.static成员 1.1概念&#x1f3a7; &#x1f50e; static关键字用于声明类…

Jmeter性能测试 -1

之前讲的Jmeter算不上是性能测试&#xff0c;只是用Jmeter做接口测试。现在我们开始进入实际的性能测试。开始前你应该对Jmeter有了一定的了解&#xff0c;把前面Jmeter内容看一遍应该可以入门了。 Jmeter与locust locust除了可以做接口的性能测试以外&#xff0c;做性能测试…

MongoDB和Mysql区别与各自优缺点

最近使用数据库来做大模型Chat记录和后续的数据处理&#xff0c;对比mysql和mongodb&#xff0c;整理如下&#xff1a; 数据库mysqlmongoDB介绍- MySQL 是一款安全、跨平台、高效的&#xff0c;并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 My…

ubuntu18.04编译OpenCV-3.4.19+OpenCV_contrib-3.4.19

首先确保安装了cmake工具 安装opencv依赖文件 sudo apt-get install build-essential sudo apt-get install git libgtk-3-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev li…

树莓派(Raspberry Pi)常见的各种引脚介绍

本文将为您详细讲解树莓派&#xff08;Raspberry Pi&#xff09;常见的各种引脚&#xff0c;以及它们的特点、区别和优势。树莓派是一款非常受欢迎的单板计算机&#xff0c;它拥有多个 GPIO&#xff08;通用输入输出&#xff09;引脚&#xff0c;这些引脚可以用于各种电子项目和…

Java中的基本数据类型有哪些

在Java编程语言中&#xff0c;基本数据类型&#xff08;Primitive Types&#xff09;是预定义的数据类型&#xff0c;它们不是由用户定义的类创建的&#xff0c;而是由语言本身提供的。这些基本数据类型是构成Java程序的基础&#xff0c;用于存储不同类型的值&#xff0c;如整数…

【C++】C++模板基础知识篇

个人主页 &#xff1a; zxctscl 文章封面来自&#xff1a;艺术家–贤海林 如有转载请先通知 文章目录 1. 泛型编程2. 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 3. 类模板3.1 类模板的定义格式3.2 类模板的实例化…

LeetCode刷题--- 单词拆分

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动态规划算法…

金智维售前总监屈文浩,将出席“ISIG-RPA超级自动化产业发展峰会”

3月16日&#xff0c;第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导&#xff0c;企智未来科技&#xff08;RPA中国、AIGC开放社区、LowCode低码时代&#xff09;主办。大会旨在聚合每一位产业成员的力量&#xff0c;深入探索R…

mysql笔记:5. 运算符

文章目录 算术运算符比较运算符等于运算符安全等于运算符NULL值判断LIKE运算符 逻辑运算符位运算符运算符的优先级 在MySQL中&#xff0c;运算符是指在执行特定算术或逻辑操作时用到的符号。常用的运算符有算术运算符、比较运算符、逻辑运算符、位运算符等。 算术运算符 算术运…