Parrot API mocking
插件介绍
轻松模拟 xhr 和 fetch 调用。
像专业人士一样模拟您的 API 响应。 Parrot 浏览器扩展允许您模拟任何您喜欢的异步调用。使用其网络查看器,您可以监视所有正在进行的呼叫,并且只需单击一下鼠标按钮,您就可以开始模拟您需要模拟的每个呼叫。适用于老式 XmlHttpRequest 和现代 Fetch-API 调用。模拟可以很简单,只需粘贴要由调用返回的替代 JSON 有效负载,或者使用 JavaScript 对响应进行更复杂的转换。是否需要进行模拟可以通过将 URL 与匹配的字符串或正则表达式进行比较来决定,或者如果需要更细粒度的方法,则可以通过使用 JavaScript 检查请求来决定。
💡 什么时候使用这个扩展?
🔸 您正在开发一个需要连接到某些后端 API 的前端,但该 API 尚未开发或已关闭。
🔸 您想要进行现场演示,但所需的后端 API 目前不可用或已损坏。
🔸 您不仅想测试愉快的流程,还想看看在任何可能的替代场景或边缘情况下,您的前端的行为如何。
🔸 您遇到了一个令人讨厌的错误,但无法使用真正的后端系统轻松重现它。您想要调整响应以检查是否有任何意外响应可能是导致问题的原因。
💡 如何使用这个扩展?
只需确保您已启用 Parrot 网络查看器(见下文)选项即可开始您的旅程。完成的任何 API 调用都会显示在查看器中,并且可以通过单击一个按钮进行模拟。
作为替代方案,您还可以首先按“定义您的模拟”按钮,然后按“添加”按钮为特定请求定义模拟响应。将显示一行,您可以在其中定义 HTTP 动词/方法以及您想要模拟的请求的 URL 片段。 URL 片段是使用正则表达式定义的,允许您根据需要制定松散或严格的任何匹配要求。
注意
如果请求还具有有效负载(例如 POST),则该有效负载的内容可用于确定是否应该进行模拟。
在同一行上,您可以定义响应的状态代码、确切的响应类型和要返回的有效负载。
一旦扩展程序检测到您表达的方法/URL,常规调用仍然会完成。但是,一旦收到实际响应,无论实际结果是什么,它都会被您定义的模拟响应替换。
注意
除了 JSON 之外,对于任何响应还可以指定 SCRIPT。在这种情况下,可以定义简单的 JavaScript 语句,用它可以修改原始响应(您可以只引用上下文变量“response”)。
示例(请注意,不需要函数或返回语句):
响应.someProperty = 'someValue';
response.someArray.push('blabla');
💡JSON5
Parrot 使用 JSON5 (https://json5.org) 来允许不太严格的 JSON 格式。这意味着可以轻松复制和粘贴典型的 JavaScript JSON 响应。无需在属性周围使用引号。如果使用的话,引号可以是单引号或双引号。允许使用悬空逗号,您甚至可以在 JSON 结构中添加注释。
💡 多个模拟规则
当确定要替换的模拟数据时,可以有多个规则匹配给定的 URL 和方法。默认情况下,Parrot 只会按自上而下的顺序循环显示可用的模拟。您可以通过始终选择第一个可用的模拟、始终选择最后一个可用的模拟、随机选择一个可用的模拟或对它们进行排序来轻松更改此行为。
💡 通过添加延迟来计时您的通话
特别是为了检查或调试潜在的竞争条件问题,对于任何请求都可以指定延迟(以毫秒表示)。在将响应返回给发出请求的客户端之前,将考虑此延迟。通过仔细安排请求/响应周期,您可以确保按照您希望的确切顺序收到响应。
💡 导出和导入您的模拟规则
还可以使用“导出”按钮将模拟规则集导出到文件系统。这允许您与其他人共享您的模拟数据,还允许您创建/维护模拟规则集。使用“导入”按钮可以轻松地重新导入导出的文件。导入的文件将附加到扩展中任何当前现有的模拟规则中,允许您将多个集合堆叠在一起。
💡 使用模拟数据时的通知
每次替换模拟数据时,都会显示一个小通知。可以使用弹出对话框关闭此行为。通知将显示正在模拟的路径、应用于其响应的模拟规则数量以及考虑的延迟(如果适用)。
💡 网络查看器
Parrot 将在直接附加到您的内容页面的紧凑视图中显示所有异步调用。通过此网络视图,您只需单击一个按钮即可显示和模拟任何响应。概述还直接显示哪些响应是嘲笑的,哪些响应是原始的。如果是模拟响应,打开模拟对话框将向您显示应用所有涉及的模拟规则后产生的响应。
💡 本地主机
Parrot 不会嘲笑本地主机资源。