使用 Restito 工具进行 REST 客户端测试

休息

REST(具象状态传输)是一种现代技术,可实现两个软件系统之间的通信。一种这样的系统称为 REST 客户端;另一个称为 REST 服务器。它是一种基于无状态通信协议(例如 HTTP)的架构技术。它以 XML、YAML 和其他机器可读格式组织或构造数据。但是,主要使用 JSON。REST 基于面向对象的编程模型。

REST 是数据驱动的,不像 SOAP 是功能驱动的。REST 也称为 RESTful API 或 RESTful Web 服务。REST 服务的描述格式不遵循标准。可以使用 WADL 文件在 SOAPUI 中导入 REST 服务。ReadyAPI 与 OpenAPI、Swagger 和 RMAL 格式兼容。基本的 REST HTTP 请求包括:POST、GET、PUT 和 DELETE。

  • POST -添加新数据。

  • GET -读取或检索现有数据。

  • PUT -更新现有数据。

  • DELETE -删除现有数据。

REST 提供了比 SOAP 更大的灵活性并且更易于使用。

REST 相对于 SOAP 的优势

  • REST 使用简单易懂的标准,例如 Swagger 和 OpenAPI 规范 3.0。

  • REST 的学习曲线更短。

  • 效率更高,因为它使用较小的消息格式(如 JSON),这与 SOAP 不同,SOAP 对所有消息都使用 XML。

  • 它速度更快,并且不需要大量处理。

REST客户端

REST 客户端是一种用于调用 REST 服务 API 的技术或工具,该 API 开放以与任何其他系统或服务提供者进行通信。例如,如果 API 需要从 Google 获取有关路线的实时交通数据,那么调用 Google 交通 API 的软件称为 REST 客户端。

休息服务器

REST Server 是一种 API 或方法,使系统能够开放以与另一个系统或服务提供商进行通信。例如,Google 启用 API 来获取给定路线上的实时交通数据。Google 的服务器必须启动并运行才能处理来自不同客户端对 API 的任何请求。

示例

考虑一个车辆预订应用程序,例如 Uber,它需要车辆所在路线周围交通的实时信息。

REST客户端

客户端是司机登录的优步应用程序。它向Google Maps 的REST API 发送请求以获取实时信息,例如HTTP GET 请求。

休息服务器

谷歌是服务提供商。Google Maps 的 API 为 Uber 应用程序的请求提供所需的信息。请注意,客户端和服务器是同等重要的 REST 通信。

雷斯蒂托

Restito 是 Mkotsur 开发的应用程序或框架。这个轻量级应用程序有助于执行各种 HTTP 请求。它还可以用于测试 REST API 以及搜索应用程序或网络中的问题。该工具的灵感来自 Mockito,其功能与 Rest Assured 的功能截然相反。

Karate DSL 是用于 API 自动化测试、性能和负载测试的工具。它在 Java 上运行并使用 Apache HTTP 来执行 Http 连接。DSL 有自己的脚本语言;DSL-域特定语言;这很容易,可以被零编码经验的人使用。它具有一组预定义的脚本命令,用于与 API 交互时可能需要的操作。

Restito 提供 DSL -

  • 模仿 REST 服务器的行为。

  • 记录对服务器进行的 HTTP 调用。

  • 验证发生的呼叫。

基本上,Restito 有助于测试调用 HTTP 服务的应用程序。它建立一个 StubServer 实例,该实例可以根据定义的 Stub 响应应用程序发出的调用。存根使操作能够在请求条件时做出响应。

使用 Restito 测试 REST 客户端

REST 客户端的测试大致分为以下 4 个主要步骤 -

  • 创建用于向服务器端点发送 GET 请求的 HTTP 客户端和方法。

  • 启动一个 Restito 服务器,记录端点“getevents”收到的请求。

  • 创建一个测试类来测试在步骤 1 中创建的客户端。调用 HTTP 客户端“sendGETRequest”方法以启动对“getevents”的 GET 请求。

  • 使用 Restito 框架验证 HTTP GET 调用。

使用 Restito 进行 REST 客户端测试的优势

  • 不需要开发实际的 REST 服务器来测试 REST 客户端。

  • 它提供了强大的多样化服务和方法来模仿服务器的行为。例如,用于测试服务器响应 404 错误或 503 错误时的 REST 客户端行为。

  • Restito 服务器可以在毫秒内建立,并且可以在所有测试执行后关闭。

  • 它支持所有的 HTTP 方法内容,例如,压缩的、非压缩的、统一的等。

使用 Restito 进行 REST Client 测试的缺点

  • 必须调整 REST 客户端源以将“本地主机”作为服务器机器考虑在内。

  • 如果使用常用端口,如 8080 或 9443。在端口中打开服务器可能会发生冲突。

  • 许多使用 Restito 进行 REST 客户端测试的支持者建议使用 9092 或 9099 等端口,但其他工具并不常用这些端口。

结论

  • REST——具象状态传输——是一种实现两个软件系统之间通信的现代技术。

  • REST 客户端是一种工具/技术,用于启用开放的 REST API 以与任何系统或服务提供商进行通信。

  • 在开放的 RestServer API 中,可以与任何系统或服务提供商进行通信。

  • Restito 是一个轻量级的框架应用程序,可以帮助执行任何类型的 HTTP 请求。

  • 在本文中,我们仅讨论了 REST 客户端的自动化测试示例。

  • 为了开发测试用例来测试 REST 客户端,我们不需要实际的 REST 服务器。

  • 可以调整 REST 客户端源以将 localhost 视为服务器机器。

以上是 使用 Restito 工具进行 REST 客户端测试 的全部内容, 来源链接: utcz.com/z/335498.html

回到顶部