14 个开源 REST 与 SOAP 服务 API 测试工具

当我们朝着更多 敏捷 的左移[译者注:左移测试]软件开发过程发展,比如持续集成和持续交付,需要不断增加对开发人员的快速反馈。

UI 测试的不足之处在于它们很慢,它很难让开发人员快速了解到他们的代码是否在最后一次构建中存在问题。而另一种方法,API  测试,往往比 GUI 测试更快更可靠。

在仔细研究 API 测试工具 之前,让我们确保我们拥有一致的、实际的 API。

什么是 API?

应用程序编程接口(Application Programming Interfaces, API) 是一种软件组件接口的规范。

大多数功能测试都涉及用户界面,比如 Web 页面或 .NET 窗体。 API 测试 则会避开用户界面,通过调用 API 来和应用程序直接通信。

API 测试可以用于测试一些无头测试,比如 JMS  HTTP、数据库和 Web 服务。

API 测试有时候也称为“无头”测试。多数无头测试会绕过 UI 并直接向应用后端或服务发送请求,然后接收响应,并验证响应内容以确保所有事件都和我们期望的一样在运作。

这个简单的例子通常被称为客户端/服务器关系。客户端产生一个需要资源的请求,然后去找到一个满足该请求的服务器。服务器定位所需资源并向客户端发送反馈。

可以使用什么 API 测试工具来自动进行 API  测试?

Selenium 只能用于基于浏览器的测试,而你可能需要一个工具来测试基于 Web 服务的 Rest 和 Soap。

这里有一些不错的工具可以用来测试基于 Web 服务的 Rest 和 Soap。

Postman 

Postman 是一个 Rest 客户端,它一开始是 Chrome 浏览器的插件,不过最近推出了用于 Mac 和 Windows 的本地版本。

你可以在一个较高的级别上使用它,向 Web 服务器发送 POST 请求后,会收到它的响应。它允许你按照 API 的需要设置所有头信息和 Cookie,并在得到响应之后对其进行检查。

  • 可用于自动化测试或探索性测试

  • 可以在 Mac、Windows、Linux 和 Chrome 中运行

  • 拥有不少集成工具,比如 Swagger 和 RAML 格式

  • 可以运行、测试,并拥有文档和监控功能

  • 不需要学习新的语言

Karate DSL 

Karate 允许你创建一系列的测试,调用 Web 服务并判断响应是否与预期一致。

  • 构建在 Cucumber-JVM 之上

  • 可以像标准 Java 项目一样运行测试并生成报告

  • 不需要 Java 知识就可以编写测试

  • 即使不是程序员也很容易编写测试

看一个简单的例子,以此着手使用 Karate 和 BDD

SoapUI 

SoapUI  是来自 SmartBear 软件的无头测试工具。它有两个版本:免费开源版和专业版。免费版是开源的,所以你可以获得它的完全源码并根据需要来进行修改。Pro 版本的用户体验不错,拥有一些附加功能,包括表单编辑器,XPath 断言向导和 SQL 查询生成器。免费版本可以让你:

  • 使用 Groovy 很容易创建自己的代码

  • 通过拖放创建测试

  • 构建复杂的场景

  • 异步测试

  • SoapUI 的 Mock Service(模拟服务) 可以让你在 Web 服务尚未实现之前先进行模拟

RestSharp

RestSharp 是用于 .NET 的一个简单的 REST 和 HTTP API 客户端

  • 支持 .NET 3.5+、Silverlight 5、Windows Phone 8、Mono、MonoTouch、Mono for Android

  • 对多数 .NET 项目来说,很容易通过 NuGet 安装

  • 支持 GET、POST、PUT、PATCH、HEAD、OPTIONS、DELETE

我来评几句
登录后评论

已发表评论数()