Part1: Introduction IDE, RC, WebDriver
It is Integrated Development Environment. Basically is a play and record tool works only with Firefox browser.
we can record the scripts using IDE and convert it to programing languages like
Java, C#, HTML etc. Like every tool, it has limitation too.
1. Very easy to install and use, its plugin to Firefox.
2. No programing experience is required.
3. We can debug and set breakpoints as well.
4. Recorded script can convert to programing language and utilize it in RC and WebDriver.
1.Works only with Firefox browser.
2.No logical statements and conditions like for and while loop.
3.No database testing.
4.It cannot be used in the testing for iPhone and Android applications.
5.Reading from external file like excel, xml, etc. not supported.
6.Alerts, pop up not supported.
To overcome selenium IDE limitations, Selenium RC was initially developed.
Basically it is developed to act as a proxy between application under test and selenium scripts.
With RC we can write selenium script in any programing languages like java,
c#, Perl, python etc. and run over all browsers.
Selenium RC components are:
1. Selenium Server
Selenium Server receives Selenium commands from your test program,
interprets them, and reports back to your program the results of running those tests.
2. Client Libraries
The client libraries provide the programming support that allows
you to run Selenium commands from a program of your own design.
There is a different client library for each supported language.
A Selenium client library provides a programming interface (API),
i.e., a set of functions, which run Selenium commands from your own program.
Within each interface, there is a programming function that supports each Selenese command.
3. Supported API : JAVA, .Net, PHP, Python, Perl, Ruby.
But like selenium IDE, Selenium RC also has its limitations,
every time we have to start & stop the RC server to execute scripts.
As server acts as a middleware between scripts and browser,
it directly impacts on execution speed to get down slow.
Similarly, there are many other limitations,
to overcome those limitations Selenium WebDriver came in a picture.
So lets understand the advantages of WebDriver over RC,
1.With Selenium WebDriver, no need to start any server to run tests.
2.WebDriver is faster than Selenium RC since it speaks directly to the browser uses the browser’s
own engine to control it. Selenium RC is slower since it uses a
3.WebDriver can support the headless HtmlUnit browser.
Selenium RC cannot support the headless HtmlUnit browser.
It needs a real, visible browser to operate on.
4.Web driver maintains the page load synchronization by default.
WebDriver is known as SELENIUM 2.0
Stable build of Selenium 2 (WebDriver) was released in July 2011.
Now SELENIUM 2.0 also enhanced to SELENIUM 3.0 this year 2016.
While migrating from Selenium 2.0 to Selenium 3.0, we have to take care bellow things:
1.You will need to be running Java 8 to use the Java pieces of Selenium.This is the oldest version of Java officially supported by Oracle, so hopefully you are using it already!
2.Support for Firefox is via Mozillas geckodriver.
3.Support for Safari is provided on macOS (Sierra or later) via Apples own safaridriver.
4.Support for Edge is provided by MS through their webdriver server.
5.Only versions 9 or above of IE are supported. Earlier versions may work, but are no longer supported as MS no longer supports them.