Selenium WebDriver
- Selenium invented by Jason R. Huggins and team while they were working on a project in ThoughtWorks.
- Selenium is a suite of software tools use to automate Web Browsers.
- WebDrive is faster than Selenium RC and can also handle scenarios such as alerts, pop-ups, AJAX requests, keyboards and mouse actions, it also supports popular programming languages such as Java, C #, Python, Ruby etc…
- Because the WebDrive directly calls the methods of different browsers, we have different drivers for each browser.
- Some of the widely used drivers in selenium are Firefox, Chromerover, Internet Explorer, Safari Driver and HTML Driver (a special headless driver).
Four Components of Selenium:
- Selenium IDE
- Selenium RC (Remote Control)
- Selenium Webdriver
- Selenium Grid
Selenium IDE:
- IDE stands for the Integrated Development Environment, which is the plug-in for the web browser Firefox.
- This allows us to record and play the script.
- This is the easiest framework and therefore developers need to switch to Selenium RC for advanced testing cases.
Selenium RC:
- RC stands for Remote Control, which allows developers to code in their preferred language.
- Selenium RC supports many programming languages such as Java, C #, Python, etc.
Selenium Web Driver:
- Selenium automates and controls the activities performed by the web browser.
- It has been implemented through a browser-specific driver. It usually does not depend on JavaScript.
- Selenium communicates with the browser to control its functions. Like RC it also supports Java, C #, Python, Ruby etc.
Selenium Grid:
- Selenium Grid is used to execute parallel tests with selenium RC in multiple browsers.
- Run several tests at the same time with different machines running different machines and operating systems.
Advantages of Selenium Web Driver:
- Selenium is open source, there is no licensing cost for its use.
- The Selenium IDE component provides access to selenium suite records and playback features in which non-programmer automation scripts can also be written.
- Selenium Grid helps in parallel and distributed testing.
- Most of the widely used programming languages such as Java, C#, Ruby, and Python can be scripted.
- It supports popular browsers like Chrome, Firefox, Internet Explorer, Opera and Safari etc…
Limitations of Selenium:
- Selenium only supports testing of web based applications.
- The mobile app can not be tested using selenium.
- Can not test captcha and bar code readers using Selenium.
- Reports can only be prepared using third party tools such as TestNG, Junit, Extent etc.
- Selenium is a free tool, thus there is no ready vendor support, although the user can find many helpful communities.
- The user is expected to keep programming language knowledge before.
- Many Challenges With IE Browsers
Selenium Web Driver language support:
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Selenium WebDriver Browser support:
- Internet Explorer
- Microsoft Edge
- Firefox
- Google Chrome
- Opera
- HtmlUnit
Selenium WebDriver Operating Sys support:
- Windows
- Mac
- OS X
- Linux