Selenium RC stands for Remote Control, if u use selenium RC libraries in your automation code you had to invoke a server with a specific port no. which would act as a medium between your automation code and application on browser.
But things became simpler with Selenium WebDriver. If you use selenium WebDriver libraries in your automation code you can invoke browsers directly from the automation code.
Selenium RC injects JavaScript function into browsers when the web page is loaded. Whereas Selenium WebDriver drives the browser using browser’s built-in support
The other differences are:
1. Web Driver has the ability to support HTML unit driver which can run the test in headless mode, however selenium RC needs a live browser to execute the test.
2. Web driver can be used for testing iPhone or Android apps. Selenium RC only supports web applications
3. Web driver cannot readily support new browsers since a driver code for new browser needs to be written to provide support. Selenium RC can easily support any browser.
4. Web driver has very good support and development community. Selenium RC has a limited support and dev community.
In WebDriver
- Not necessary to start the server to run the programs
- Web driver maintains the page load synchronization by default. If it is a page refresh we have to maintain by using thread.sleep ();
- Web Driver is faster than Selenium RC because of its simpler architecture.
- Web Driver directly talks to the browser while Selenium RC needs the help of the RC Server in order to do so.
- Web Driver can support Html Unit while Selenium RC cannot.