Difference between Selenium WebDriver and Selenium RC

Difference between Selenium WebDriver, and Selenium RC:

Selenium WebDriver and selenium RC (Remote Control) both are different in any manners which we see later in this tutorial, let us see the main difference which is in the architecture of WebDriver and Selenium RC.

Architecture:

The Architecture of the selenium WebDriver is simple as compared to selenium RC.

WebDriver can directly communicate with the browser without the server.

The requirement to run the test script in the selenium WebDriver is as follows,

  • An Eclipse IDE with any supported programming language like Java, C#, and Python, etc.
  • A browser to perform all the actions written in the test script.

Whereas, the selenium RC architecture is a bit complex with the browser because Selenium RC cannot interact with the browser without the selenium server.

Before running the test scripts in Selenium RC, the RC server is installed initially to create a connection between our selenium commands and our browser.

The basic requirement to run the test script in the selenium RC is as follows,

Difference between Selenium Web driver and Selenium RC 1
  • The selenium server includes a JavaScript program, which is known as Selenium Core in the browser.
  • And then, selenium core will start receiving the action or the selenium commands from the RC server.
  • After receiving all the selenium commands, selenium core will execute them as JavaScript commands.
  • The JavaScript command act as instructions to the browser.
  • Then the browser will execute all the instructions provided by the selenium core and return the overall summary to the server.
  • This overall summary is the final result, which is displayed on the user screen.

Now, we will discuss some significant difference between webdriver and selenium RC which are as follows,

Features WebDriver Selenium RC
Browser supports Selenium webdriver supports multiple browsers like Internet Explorer, Firefox, Google Chrome, Safari, and Microsoft Edge. And It also supports a headless HTMLUnit browser, where "headless" means that it is GUI-less. HTMLUnit is an invisible browser that allows faster execution of tests script because it does not waste time to wait for loading the web page elements. Selenium RC supports various browsers like IE, Firefox, and chrome and it doesn't support the headless HTMLUnit browser because it needs a real browser to work with.  
Os support Selenium webdriver supports Windows, Linux, macOS, Android, and iOS. Selenium RC supports Windows, Linux, and macOS operating systems.
Languages support Selenium webdriver supports multiple programming languages like Java, C#, Python, Perl, and Php. Selenium RC supports Java, Ruby, C#, and Python programming languages.
Library Selenium webdriver is a collection of core java libraries. Selenium RC is the collection of JavaScript libraries.
Server support In the selenium webdriver, there is no need for the Selenium server. In the selenium RC, we cannot run the test script without the Selenium server.
Secure  application support WebDriver supports a secure application. Selenium RC did not support a secure application because of the same-origin policy, which means that when JavaScript is available in domain1 cannot execute the html page because the Html page came from another domain, which is domain2.  
speed Selenium webdriver is faster than Selenium RC because it interacts directly with the browser without using any external server. Selenium RC uses the intermediate RC server to communicate with the browser.
Testing mobile application WebDriver supports a mobile application like iOS, Android, and window mobile. Selenium RC does not support any mobile application testing.
Object-oriented Selenium webdriver is an object-oriented API. Selenium RC is less object-oriented API.
API supports It has a bit complex and large API as compared to RC, and it has an actual core API, which has binding in a range of languages. Selenium RC has easy and small API, and it has a standalone java program, which allows us to run Html test suites.  
Moving mouse Selenium webdriver supports moving mouse cursors. Selenium RC does not support moving mouse cursors feature.
XPath In the selenium webdriver, there is no need to append the full XPath with ‘XPath=\\’ syntax. In the selenium RC, we need to append full XPath with ‘XPath=\\’ syntax.