为我们的 REST 模拟 API

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

[本文由 Paul Bruce 撰写。]

各位极客和 API 书呆子:您以前使用过模拟 API 吗?是否曾经不得不等待代码部署好才能开始测试?曾经想只制作 API 的原型而不迷失在杂草中吗?在测试第 3 方 API 时遇到过问题吗?

哦,天哪,这节拍太难了。你会想听的。

ServiceV Pro 是我们的 API 就绪平台 (Ready! API) 中的特定于 API 的服务虚拟化工具。它将模拟提升到一个全新的水平,而我们刚刚通过新的 Ready 再次超越了它! API 1.4 发布。不开玩笑,现在你可以:

  • 快速淘汰 API 设计和新端点
  • 在团队成员之间共享虚拟 API(我们称之为“virts”)
  • 控制模拟响应和性能条件
  • 从实时 API 流量创建高级模拟

混合使用像 ServiceV Pro 这样的工具确实使开发和测试变得更加容易,尤其是我们刚刚包含的全新品牌。作为测试人员、开发人员和管理人员,控制是一项强大的功能。控制第 3 API 的使用、控制您自己的成本以及按时完成最后期限。控制是我们进入下一个层次的方式。

记录到虚拟

假设您有一个连接到 API 的应用程序或集成,但有些东西一如既往地发生变化,现在您的模拟已经过时了。它已经过时了,要么是因为对您的 API 进行了附加更改,例如新端点或可选参数,要么是因为对现有请求进行了澄清。参数数据也可能会更改从您的 API 返回的响应。

或者您可能甚至没有模拟……或 API 描述(对于所有 REST 牛仔和女牛仔)。无赖。真可惜,但在现实世界中,我们并不总是拥有关于我们继承或尚未正式化的 API 的完美文档。

难道您不希望有一种轻松的方式来构建和更新您已有的模拟吗?

碰巧的是, ServiceV Pro 现在就像一个高性能代理,包括请求和响应记录功能,可以做到这一点:将您的流量记录为高性能模拟操作。这就是我们所说的“virt”(虚拟 API),因为坦率地说,它厌倦了不得不说所有其他的东西。 virt 将 API 模拟的概念带到了地球上,无需设置全新的堆栈,也无需编写一行代码。

因此,现在您可以从一个 API 描述符(如 Swagger 或 RAML)开始,然后挥动手腕构建一个 虚拟 API ,如哈利波特,如果​​您喜欢的话。

快速 API 切换

对于那些没有被前几段中的极客水平吓倒的人,这里是真正真实的地方。减去我们刚刚回顾的录音方面。获得模拟虚拟 API“virt”后,您可以让客户端接收虚假响应并停在那里,或者您可以再次打开路由以让该流量转到实际 API。

这使您成为现代信息外科医生。我告诉过你控制是一种强大的东西。

以负载测试为例。负载测试中产生的数据量可能是惊人的,这就是为什么我们经常将其聚合可视化并制作漂亮的图表向我们展示正在发生的事情,而不是查看作为性能数据的矩阵代码。但总的来说,有关主机和端点的详细信息可能会丢失。

负载和集成测试中的快速切换本质上是故障隔离,正如每个优秀的工程师都知道的那样,这是找出到底是什么被破坏或表现不佳的好方法。因此,在测试期间,当你看到一些奇怪的东西(比如端点或多步骤工作负载中的性能异常缓慢)时,你可以开始翻转某些模拟的开关以将它们从等式中移除。经过片刻的反复试验后,您很快就会发现是哪些 API 导致了您的问题。

来吧,成为那个在如此短的时间内解决问题的人,以至于每个人都是一个大果冻三明治。事情会开始改变,因为你已经运用了正确的控制方式。

哦,什么,你在说什么,还有更多吗?

来吧,您不会认为我们只在我们的 API Readiness 平台的一个工具中包含尖端功能,Ready! API,是吗?请。当然还有更多!

SoapUI NG Pro 中,我们已经大规模改进了功能测试事务历史视图,包括能够对先前日期的请求/响应如何发生的 快照进行基线处理 ,还能够 比较昨天基线中工作的差异 今天失败的原因。

想象一下你自己,早上你进来,坐下来查看电子邮件,发现一堆通知你的自动化测试运行失败。废话。所以你打开测试套件,看看失败的案例,但现在呢?好吧,上次你搞砸了,你很聪明地点击了“存档”按钮将其标记为最后一个有效的基线。现在您可以运行微分并找出究竟发生了什么变化,以便更好地了解测试失败的原因。更好的洞察力,更快的诊断,您可以准时回家吃晚饭。美味的晚餐,嗯。

更?是的,总是,更多!

还有很多,我们修复了很多错误,就像优秀的软件供应商应该做的那样。我们不得不。在 SmartBear,我们致力于开发世界从未想过的软件。我们还向 LoadUI NG Pro 添加了功能,例如调度程序和简化的“URL 复制粘贴”负载测试。技术发行说明就在附近,我发誓。

然后是插件。美味的整合。 Git JIRA Swagger Microsoft Azure Restlet 等等 ;这让我觉得我又在参加 MUSE 音乐会了。机器人围绕在我们身边,尤其是在物联网时代,这就是为什么我们是唯一同时支持主要 物联网 协议 MQTT CoAP 的 API 测试工具。

如果您认为 SoapUI NG 只执行 SOAP,请再想一想。喝那杯咖啡,看看新闻。我们是为互联世界提供软件质量的公司。如果您还不是我们社区的一员,我们迫不及待地希望您加入并与我们一起踏上火箭溜冰鞋走向未来。