Selenium WebDriver 与 Selenium RC


Selenium WebDriver 与 Selenium RC

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

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

1. 架构

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

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

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

Selenium WebDriver 与 Selenium RC

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

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

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

Selenium WebDriver 与 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 浏览器(Invisible Browser)。