Selenium Components- IDE , RC, Webdriver

Selenium IDE stands for Integrated Development Environment (IDE). We can install Selenium IDE  as an Add-On to Firefox Browser. It will enable us to record, edit, and debug Selenium tests.

Selenium Remote Control (RC) is a server. It is basically written in Java and it takes commands from browser via HTTP. We will be able to write automated tests with Selenium Remote Control (RC), in many programming languages.


Selenium WebDriver takes commands via a Client API and sends commands to the browser. We have drivers which are specific to each of the browsers used for automation here . We need to install the specific selenium driver along with the browser we are using to automate.


Selenium Grid is also a server. Using Selenium Grid we can execute tests even on the browsers running on remote machines. 

The concept is like this, there is a server which acts as the hub. To gain access to browser instances running on remote machine , the tests will need to contact this hub(server).
Selenium Grid will allow us to run our tests in parallel on multiple machines, so that's a big advantage !

Comparison of  Selenium WebDriver and Selenium RC


Architecture 

WebDriver's architecture is simpler than Selenium RC, as it controls the browser from the OS level.uses the browser's engine to control it. WebDriver is faster, as it interacts directly with the browser.Selenium RC script execution is slower, since it uses a Javascript to interact with RC.

Selenium RC is complicated, as the server needs to be up and running before starting a test.t ‘injected’ javascript functions into the browser when the browser was loaded and then used its javascript to drive the AUT within the browser. 


Speed

Selenium  WebDriver is faster than Selenium RC because it  speaks directly to the browser using the browser's own engine to control it.

Browsers supported

Selenium WebDriver will enable us to automate for iPhone/Android applications as well whereas Selenium RC does not support testing of mobile Applications.
Firefox, Internet Explorer, Google Chrome, Opera, and Safari, are supported by Selenium WebDriver

Programming Languages

Selenium WebDriver supports programming in Java, C#, Python, Ruby , Perl, PHP, Groovy

Recap :

  • Selenium WebDriver  is faster because interacts directly with the browser by using browser engine to control it
  • Selenium RC - is slower because it uses java script to interact with the browser
  • Selenium WebDriver - Controls the browser from OS level
  • Selenium RC - server needs to be up and running for tests to run
  • Selenium WebDriver - Allows testing on multiple browsers like 
  • Selenium WebDriver -  Can test iPhone/Android applications.
  • Selenium RC - Cannot test mobile Applications.
Links