Introduction to Selenium and its Components
Selenium is an automation testing tool used to test web-based applications. Selenium is not a single tool but a suite of tools. There are four components of Selenium – Selenium IDE, RC, WebDriver, and Grid. Last two being the most famous one. Different components of Selenium provides different features – multiple browsers support, parallel test capabilities, execution on multiple machines and much more.
It can automate all websites and does not depend on the technology in which the application is designed. Performance and execution speed of Selenium Automation tool is much better than any other tools which are available in the market.
- Selenium IDE (Integrated Development Environment).
- Selenium RC(Remote Control)
- Selenium WebDriver
- Selenium Grid
Selenium IDE is a simple record and playback kind of tool which comes as an add-on for Mozilla Firefox only. It is used for prototype testing. Test cases written in IDE can be exported in many programming languages like Ruby, Java, C#, etc. Edit and Debug options along with record are also available. It is an excellent tool for beginners to understand the syntax of Selenium WebDriver.
It was the first tool which provided the support for multiple programming languages (JAVA, Ruby, Perl, PHP, Python, and C#).
Selenium RC is also known as Selenium 1.
The architecture of Selenium RC:
Selenium WebDriver is the most important tool of the Selenium suite. Because of many limitations with RC, WebDriver was developed. It does not require any manual process like Selenium Server. There is a direct communication between code and browser.
Features of Selenium WebDriver:
- Open source
- Supports all the key vendors of the browser like Mozilla Firefox, Internet Explorer, Google Chrome, Safari, etc.
- Support Multiple languages like C#, JAVA, Ruby, Perl, Python, and PHP.
- Supports multiple platforms like Linux, Windows, MAC, etc.
- No middleman like Selenium RC server is required.
- Easy to remember API’s.
- Easy to integrate with Testing frameworks.
- Framework Development.
- Parallel Testing capabilities.
The Architecture of Selenium WebDriver:
As discussed earlier, Selenium WebDriver does not require Selenium Server as a middleman. The API’s written in WebDriver can directly interact with browsers.
It is the last component of the selenium suite and is used for parallel testing or distributive testing. It allows us to execute test scripts on different machines at same time.
There is a Hub which controls the execution on various machines, and there are multiple nodes on which actual implementation is done.
Features of the Grid:
- Parallel Execution on multiple nodes
- Platform Independent, support almost all Operating System
- Language Independent.
- Browser Independent supports almost all the main vendors of Browser.
- Fast Execution, reduces the execution time as test cases are executed parallelly.
The Architecture of Selenium Grid:
In Grid one of the systems is created as Hub. Hub works as a central point controlling all the nodes. Nodes are an actual machine on which execution is done.
Selenium IDE and Selenium RC are obsolete products now, so we won’t spend much time on them. In the upcoming tutorials, we will focus more on Selenium WebDriver and Selenium Grid.
In the next tutorial, we will cover Installation and Configuration of Selenium WebDriver using Java and Eclipse.
PS: For any questions, queries or feedback. Feel free to write us at firstname.lastname@example.org or email@example.com