哪些类型的依赖项可用于使用 selenium 进行 Api 自动化?

问题描述 投票:0回答:3

我在我的项目中使用rest-assured依赖项来使用selenium测试API。

  1. 任何人都可以指导我为什么我们在 API 测试中基本上使用放心依赖吗? (尝试从开发我们的项目框架和在线的前辈那里找到答案,我无法得到任何答案为什么我们要使用这个,如果有人指导我原因,这会对我有帮助?)

  2. 使用 selenium 进行 API 自动化还有哪些其他方法?

  3. 我们为什么要使用它们? (与放心相比?)

谢谢你。

api selenium rest rest-assured
3个回答
1
投票

Selenium 通常不用于 REST API 测试。 Selenium 是一个可以控制 Web 浏览器的工具。尽管 Web 浏览器是一种 HTTP 客户端,但它是非常特定的客户端,旨在浏览 Web 并保持高水平的用户安全性。上述内容对您可以使用浏览器执行的操作和不能执行的操作进行了一定程度的限制。例如:

  1. 您只能从地址栏触发 GET 请求
  2. 您可以使用 HTML 表单执行 POST 请求,但您必须有一个包含表单和固定参数集的 HTML 页面
  3. 如果页面带有任何 javascript 客户端,您可以克服上述问题,以便您可以配置不同的请求配置

第 2 点和第 3 点基本上意味着您的框架中有另一个级别的通信,并且必须正确维护该级别。这是因为 Web 浏览器本来就不适合与 API 交互。但只能提供 HTTP 所能提供的非常有限的部分(我们再次可以通过在浏览器中执行的 javascript 代码来克服该限制,但这将是另一个级别的复杂性)。

RestAssured 是纯 HTTP 客户端,具有一些方便且简洁的功能,允许轻松操作请求和响应。因此它允许触发 HTTP 协议支持的任何类型的请求、解析响应并验证它们(通常全部在单个语句中)。

后者自然是为了与 REST API 交互而设计的,不会为您的测试引入额外的级别,也没有像浏览器那样的限制。

回顾

以下架构演示了以两种方法实施 API 测试的差异:

  1. 硒案例:

Selenium 绑定库 -> Web 驱动程序 -> 浏览器 -> API GET(很少有其他 - 需要为此维护特殊文件)

  1. 放心案例:

Rest-Assured 库 -> API 任何类型的请求

P.S. - 就像 RestAssured 比 Selenium 更有效地处理 API 情况一样,Selenium 比 RestAssured 更有效地处理 Web 测试,因为后者既不能控制浏览器,也不能执行 JAvaScript 代码。这就是为什么我们拥有两个如此强大且出色的工具,每个工具都完美地满足了其自然设计的需求。


0
投票
  1. 因为 Rest-Assured (RA) 是一个基于代码的 API 测试工具。它支持:
  • 发出 HTTP(s) 请求
  • 从响应中提取价值
  • 断言响应
  1. Selenium 是控制 Web 浏览器的工具,它不能进行 API 测试。
  2. 我不知道你为什么将 Selenium 与 Rest-Assured 进行比较。它们是两种不同的工具,有两种不同的用途。

-1
投票

对于使用 Selenium 的 API 自动化,您通常会集成其他依赖项,因为 Selenium 主要专注于基于浏览器的自动化。常见的依赖项包括:

放心:对于 RESTful API 测试,通常与 Selenium 一起用于端到端测试场景。

HTTPClient: 对于在 Selenium 测试中处理 HTTP 请求很有用。

JUnit 或 TestNG: 对于构建和断言测试,对于使用 Selenium 的任何自动化测试设置都至关重要。

虽然 Selenium 非常适合浏览器交互,但对于更多以 API 为中心的测试,您可能需要查看 ApiDog。它提供了专为 API 测试和文档定制的更专业的工具和功能,可以补充您的 Selenium 测试。

© www.soinside.com 2019 - 2024. All rights reserved.