Selenium WebDriver
AUTOMATION TESTING TOOL
Jason Huggins -- 2004--THOUGHT WORKS
QTP- HP- MERCURY - Quick Test Professional
SELENIUM-2004- AUTOMATION TESTING TOOL
Selenium is basically used to automate the testing across various web browsers. It
supports various browsers like Chrome, Mozilla Firefox, Safari, and IE(edge), and you
can very easily automate browser testing across these browsers using Selenium
WebDriver
n WebDriver, test scripts can be developed using any of the supported programming
languages and can be run directly in most modern web browsers. Languages supported
by WebDriver include C#, Java, Perl, PHP, Python and Ruby.
Selenium WebDriver is the most important component of Selenium Tool's Suite. The
latest release "Selenium 2.0" is integrated with WebDriver API which provides a simpler
and more concise programming interface.
Selenium Components:
Selenium IDE
Selenium RC
Selenium WebDriver
Selenium Grid
Selenium IDE:
IDE - > Integrated Development Environment
It can be used only in FireFox.
We cannot be used for compliment test Cases.
Selenium RC:
RC - > Remote Control
In RC the installations are complicated.
It cannot directly interact with Browser.
Selenium WebDriver:
It is a automation testing tool.
It Supports Different Browsers Along with Different Kind Of Programming languages.
Selenium WebDriver performs much faster as compared to Selenium RC because it
makes direct calls to the web browsers. RC on the other hand needs an RC server to interact with the
browser.
It Directly Interact with Browser
Selenium Grid:
It Is a HubNode Concept.
It Execute Test Cases Parallely And It Reduces the Execute Time.
--------------------------------------------------------------------------------------------------------------------------------
Selenium QTP
1. Open-source Commercial & Costly
2. Java,Python,Php,Ruby,Pearl VB Scripts- visual basic scripts
3. Firefox, Chrome,IE,Safari,Opera IE,FF- internet explorer - firefox
4. Windows,MAC,Linux,Solaris Windows
5. Web app,Mobile App Desktop,Web,Mobile
6. More Flexible Flexible
--------------------------------------------------------------------------------------------------------------------------------
Web Application:
Browser - E-commerce ., Web application which is working with browsers
WebDriver has a built-in implementation of Firefox driver (Gecko Driver). For other
browsers, you need to plug-in their browser specific drivers to communicate and run the
test. Most commonly used WebDriver's include:
Google Chrome Driver
Internet Explorer Driver
Opera Driver
Safari Driver
HTML Unit Driver (a special headless driver)
Selenium WebDriver- Architecture
Selenium WebDriver API provides communication facility between languages and
browsers.
The following image shows the architectural representation of Selenium WebDriver.
There are four basic components of WebDriver Architecture:
Selenium Language Bindings 🡪Selenium developers have built language
bindings/Selenium Client Libraries in order to support multiple languages.
JSON Wire Protocol 🡪JSON Wire Protocol provides a transport mechanism to
transfer data between a server and a client.
Browser Drivers 🡪Selenium uses drivers, specific to each browser in order to
establish a secure connection with the browser
Real Browsers
Browsers supported by Selenium WebDriver:
Internet Explorer
Mozilla Firefox
Google Chrome
Safari
Multiple Languages Support: WebDriver also supports most of the commonly
used programming languages like Java, C#, JavaScript, PHP, Ruby, Pearl and
Python.
Speed: WebDriver performs faster as compared to other tools of Selenium Suite
Simple Commands: Most of the commands used in Selenium WebDriver are
easy to implement. For instance, to launch a browser in WebDriver following
commands are used:
WebDriver driver = new FirefoxDriver(); (Firefox browser )
WebDriver driver = new ChromeDriver(); (Chrome browser)
WebDriver driver = new InternetExplorerDriver(); (Internet Explorer
browser)
WebDriver- Methods and Classes: WebDriver provides multiple solutions to
cope with some potential challenges in automation testing.
WebDriver also allows testers to deal with complex types of web elements such
as checkboxes, dropdowns and alerts through dynamic finders.