Difference between Selenium RC and Selenium Web Driver

Selenium RC is an acronym for Selenium Remote Control. Selenium RC is a server coded in Java, which allows commands to a browser through HTTP. Selenium RC also enables writing automated test programs in any computing language for software applications. This enables easy integration of Selenium RC with any unit testing frameworks.

Selenium Web driver API is the new attribute added in Selenium 2.0. Web driver is intended for providing simple and brief programming interface. Selenium Web driver is the descendant to Selenium RC. The difference between Selenium RC and Selenium Web driver are:

Selenium RC

Selenium Web driver

The architectural design of Selenium RC is more complex.

The architectural design of Web driver is simple compared to Selenium RC.

Selenium RC runs on all browsers except on the recent version of Firefox and Internet explorer.

Web driver runs on recent versions of all browsers of (i) Firefox, (ii) Internet explorer (Version 6, Version 7, and Version 8), (iii) Opera and (iv) Chrome.

Selenium RC is slow as its core is based on JavaScript program. The browsers are directly controlled by this Selenium Core.

Web Driver is rapid compared to Selenium RC as it communicates directly to the browser applications.

Selenium Core has the ability to access halted components.

Web Driver communicates with page components in a more sensible way.

The API of Selenium RC is more established but has many unnecessary and more intricate commands.

The API of Web driver is simple and does not contain any unwanted or complex commands.

Selenium RC does not offer support to HTML unit (headless) browser. Selenium RC requires a valid and visible browser.

Web Driver has the ability to support HTML unit (headless) browsers.

An in-built test report generator is available in Selenium RC. Selenium RC thus generates HTML documents of test reports by default. 

Web Driver does not include any in-built generator to produce test report documents.

Selenium RC can readily support latest browsers.

Web driver is not readily available to support latest browsers.

Selenium RC requires a server to start.

Web driver does not require any server to start.

Selenium RC cannot be used to test iPhone or Android apps.

Web driver can be used for testing iPhone or Android apps.

Selenium RC API is less object-oriented.

Web driver API supports pure object-orientation.

In Selenium RC, full XPath should be attached with “xpath=\\” command.

In Web driver, XPath need not be attached to any command.

Listeners cannot be implemented in Selenium RC.

Web driver supports implantation of listeners.