WebDriver
is a web automation framework that allows you to execute
your tests against different browsers,
not just Firefox (unlike Selenium IDE).
Web
driver execute script > Mozilla Firefox, Internet explorer,
Safari, Google Chrome, Opera browser.
WebDriver
also use
a programming language in
creating your test scripts(which is not possible in Selenium IDE).
- Use conditional operations like if-then-else or switch-case
- Use looping like do-while.
Following
programming languages are supported by WebDriver
- Java
- .Net
- PHP
- Python
- Perl
- Ruby
WebDriver Vs Selenium RC
They
both allow you to use
a programming language in
designing your test scripts. They
both allow you to run
your tests against different browsers.
It
controls the browser from the OS level
All
you need are your programming language’s IDE (which contains your
Selenium commands) and a browser.
Selenium RC’s architecture is way more complicated.
The
Selenium RC Server acts
as a “middleman” between your Selenium commands and your browser.
- When you begin testing, Selenium RC Server “injects” a Javascript program called Selenium Core into the browser.
- Once injected, Selenium Core will start receiving instructions relayed by the RC Server from your test program.
- When the instructions are received, Selenium Core will execute them as Javascript commands.
- The RC Server will receive the response of the browser and then display the results to you.
- RC Server will fetch the next instruction from your test script to repeat the whole cycle.
The
browser will obey the instructions of Selenium Core, and will relay
its response to the RC Server.
WebDriver is faster than Selenium RC
Selenium
RC is slower since it uses a Javascript program called Selenium
Core. This
Selenium Core is the one that directly controls the browser, not
you.
Limitations of WebDriver
WebDriver Cannot Support New Browsers:
Remember
that WebDriver operates on the OS level. Also remember that different
browsers communicate with the OS in different ways. If a new browser
comes out, it may have a different process of communicating with the
OS as compared to other browsers. So, you
have to give the WebDriver team quite some time to figure that new
process out before
they can implement it on the next WebDriver release.
Selenium RC automatically generates an HTML file of test results. The format of the report was pre-set by RC itself. Take a look at an example of this report below.
WebDriver
has no built-in command that automatically generates a Test Results
File.
You would have to rely on your IDE’s output window, or design the
report yourself using the capabilities of your programming language
and store it as text, html, etc.
WebDriver
is a tool for testing web applications across
different browsers using
different programming languages.
- You are now able to make powerful tests because WebDriver allows you to use a programming language of your choice in designing your tests.
- WebDriver is faster than Selenium RC because of its simpler architecture.
- WebDriver directly talks to the browser while Selenium RC needs the help of the RC Server in order to do so.
- WebDriver’s APIismore concise than Selenium RC’s.
- WebDriver can support HtmlUnit while Selenium RC cannot.
- The only drawbacks of WebDriver are:
- It cannot readily support new browsers, but Selenium RC can.
- It does not have a built-in command for automatic generation of test results.