Selenium is an open-source functional and regression automated software testing tool for testing web applications. It has capabilities to operate across different browsers and operating systems. Selenium is not just a single tool but a set of tools that helps testers to automate web-based applications more efficiently.
Selenium is divided into 4 components.They are:-
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- Selenium WebDriver
- Selenium Grid
- Selenium IDE is an Integrated Development Environment for building selenium test-cases. It is the simplest framework in the Selenium suite and is the easiest one to learn. Selenium IDE is a Firefox plugin which helps testers to record the actions as they follow workflow that they need to test.
- It is available only in Firefox Browser. It is very easy to use and install. Its main feature is “Record and Playback”.
- It provides a Graphical User Interface for recording user actions using Firefox which is used to learn and use Selenium, but it can only be used with Firefox browser as other browsers are not supported.
- Selenium Remote Control (RC) was the flagship testing framework that allowed more than simple
browser actions and linear execution.
- It makes use of the full power of programming languages such as Java, C#, PHP, Python, Ruby, and PERL to create more complex tests.
- It allows Cross-browser and cross-platform also it can perform looping and conditional operations. Its execution is fast than IDE.
- Selenium WebDriver is the successor to Selenium RC which sends commands directly to the browser and retrieves results.
- WebDriver is a web automation framework that allows you to execute your tests against different browsers, not just Firefox (unlike Selenium IDE).
- WebDriver also enables you to use a programming language in creating your test scripts (not possible in Selenium IDE). You can now use conditional operations like if-then-else or switch-case.You can also perform looping like do-while.
- It support many languages like java, PHP, Python, Perl, .Net and Ruby. For Selenium WebDriver you must have a basic knowledge of programming languages.
- Selenium Web Driver is a tool for writing automated tests of websites.
- Generally, to run our Selenium tests in parallel, we use selenium grid and distribute tests across multiple physical or virtual machines which will reduce the time required for running tests.
- Selenium Grid allows us to execute multiple instances of WebDriver or Selenium Remote Control tests in parallel which uses the same code base, hence the code need NOT be present on the system they execute.
- The selenium-server-standalone package includes Hub, WebDriver, and Selenium RC to execute the scripts in grid.