Selenium WebDriver 与 Selenium RC

17 Mar 2025 | 阅读 2 分钟

Selenium RC 有很多限制,最终导致了 Selenium WebDriver 的开发。

查看 Selenium RC 和 Selenium WebDriver 之间的主要区别

1. 架构

Selenium RC 的架构很复杂,因为它使用中间 RC 服务器与浏览器通信。在运行测试脚本之前,会先安装 RC 服务器,它充当您的 Selenium 命令和浏览器之间的中介。

当我们在 Selenium RC 中执行测试脚本时,内部会执行以下操作。

  • 服务器将一个名为 Selenium Core 的 JavaScript 程序注入到浏览器中。
  • 随后,Selenium Core 将开始从 RC 服务器接收指令(Selenium 命令)。
  • 当接收到所有指令后,Selenium Core 将以 JavaScript 命令 的形式执行它们。
  • 这些 JavaScript 命令充当浏览器的指令。
  • 浏览器将执行 Selenium Core 提供的所有指令,并将总体摘要返回给服务器。此总体摘要充当最终结果,显示在用户屏幕上。

Selenium WebDriver Vs Selenium RC

与 Selenium RC 相比,Selenium WebDriver 的架构更简单。

浏览器直接从 OS(操作系统)级别进行控制。 在 WebDriver 上运行测试脚本的基本要求是

  • 一个 IDE(集成开发环境),支持任何受支持的编程语言,如 Java、C# 等。
  • 一个浏览器,用于执行测试脚本生成的指令。

Selenium WebDriver Vs Selenium RC

2. 速度

Selenium WebDriver 的速度比 Selenium RC 快,因为它直接与浏览器交互,而无需使用任何外部代理服务器。另一方面,Selenium RC 使用中间 RC 服务器与浏览器通信。

在 Selenium RC 中执行测试脚本比 WebDriver 需要更多时间,因为它使用 JavaScript 命令作为浏览器的指令。

3. 面向对象

Selenium WebDriver 纯粹是面向对象的 API,而 Selenium RC 是一种不太面向对象的 API。

WebDriver 完全基于面向对象的编程语言,如 Java、C# 等。

4. 测试移动应用程序

Selenium WebDriver 支持移动应用程序的 OS(操作系统),如 iOS、windows mobile 和 android。另一方面,Selenium RC 不支持测试移动应用程序。

5. 浏览器支持

Selenium WebDriver 还支持无头 HTMLUnit 浏览器(隐形浏览器)。

注意:HTMLUnit 是一个隐形浏览器,它有助于更快地执行测试,因为它不需要等待页面元素加载的时间。

Selenium RC 不支持无头 HTMLUnit 浏览器,因为它需要一个真实的浏览器才能工作。

下一主题WebDriver-安装