没有最好,只有最合适。
如今,越来越多的公司正在向 DevOps 的方向左转,以实现持续集成和持续部署开发。这意味着我们的反馈需要比以往更快,以便确定我们的应用程序是否准备好交付。这就是 API 测试如此重要的原因,以及为什么应将其作为整体自动化策略重要的一部分。
分享一下我认为不错的五种 API 测试工具,无论哪种方式,它们都是不错的选择。
如果您使用的是 Java,则 Rest-Assured 将是实现 API 自动化的首选。
Rest-assured 是一个流行的 Java 库,可用于测试基于 HTTP 的 REST 服务。它在设计时就考虑到了测试,并且与任何现有的基于 Java 的自动化框架集成在一起。它提供了一个类似于 BDD 的 DSL,从而使用 Java 创建 API 测试变得简单。它还具有许多内置功能,这意味着不必从头开始编写代码。Rest-assured 可以和很多测试框架无缝集成,这意味着可以将 UI 和 API 测试全部结合在一个框架中,从而生成全面出色的报告。与动态语言(例如 Ruby 和 Groovy)相比,用 Java 测试和验证 REST 服务要困难得多。这是使用 REST-Assured 的另一个原因,因为它将 Java 语言中使用这些语言的简便性带给了您。
如果团队主要由 Java 开发人员组成,对 API 测试来说 Rest-Assured 是非常不错的选项。
接口测试不一定要使用与开发人员相同的语言来进行必要的测试工作。如果刚好跟开发语言不通,则需要考虑 Postman 进行一些快速而简单的 API 测试,而不必担心其他的开销。Postman 还是探索型 API 测试的不错选择。但是它也足够强大,可以根据需要创建更多集成的解决方案。
Postman 是一个易于使用的 Rest 客户端,您可以利用其 Chrome 插件快速入门。Mac 和 Windows 也都有响应的版本支持。它具有许多 Rest 客户都没有的非常丰富的界面,使其易于使用。它还使您可以轻松地与同事共享知识,因为您可以打包所有请求和期望的响应,然后将其发送给其他人,以便他们也可以查看。
如果您的团队不仅要测试 API,而且要有一个工具来帮助自动化还有一些探索性 API 测试工作,那么 Postman 是一个不错的选择。
SoapUI 已经存在了一段时间。如果您的团队仅进行 API 测试,并且主要由质量检查工程师(而非开发人员)组成,那么 SoapUI 可能是您团队的最佳选择。SoapUI 是专用于 API 测试的功能齐全的测试工具。API 无需从头开始创建解决方案,而是使您能够利用功能齐全的工具严格针对 API 测试。如果出于某种原因需要创建自定义功能,则可以使用 Groovy 在 SoapUI 中编写解决方案的代码。
如果您的团队具有复杂的 API 测试方案,并且由更多的质量检查/测试工程师组成,重点是不缺钱,那么 SoapUI 是首先的工具。
尽管 JMeter 是为进行负载测试而创建的,但许多人也将其用于功能 API 功能和自动化测试。JMeter 包括帮助您测试 API 所需的所有功能,以及一些可用来增强 API 测试工作的额外功能。例如,JMeter 可以自动使用 CSV 文件,这使团队可以快速为 API 测试创建唯一的参数值。它还与 Jenkins 集成,这意味着您可以将 API 测试包含在持续集成管道中。
如果您打算创建 API 功能测试,并且还要在性能测试中加以利用,JMeter 无疑是最佳的测试解决方案。
Fiddler 是一个工具,经常用来抓包,它还可以捕获、操纵和重发 HTTP 请求。Fiddler 可以做很多事情来调试网站问题,并且通过它的众多扩展之一,您可以完成更多工作。其中之一-APITest 扩展 - 极大地增强了 Fiddler 以验证 Web API 的行为。(验证者提供了一种轻量级的方法来判断测试的成功或失败)
对于更多的核心 API 测试开发,您可以使用FiddlerCore.NET
类库来构建其 API 测试基础结构。对于使用.NET
语言的团队来说,这是一个不错的选择,因为您可以使用所需的任何.NET
语言来开发测试。
没有完美的工具。每个小组有不同的要求。实际上,所有 API 测试工具都可以很好地工作,并且是不错的选择,具体取决于团队的需求以及团队的人员配置,不选最好,选最合适的那个工具。