Hello friends! this is our first tutorial of the "Selenium Automation" series. In this tutorial, we will study the basics of selenium, its components, features and limitations.
What is Selenium?
Selenium is an open source test automation suite used for automating web based applications. It supports automation across different browsers, platforms and programming languages. Using selenium, we can automate the functional tests and easily integrate them with Maven, Jenkins and other build automation and continous integration tools.
Components of Selenium Suite
Selenium Suite comprises of the following four components-
- Selenium IDE - Selenium IDE is an add-on of Firefox browser that provides record and play back functionality. Its use is limited and test scripts generated are not very robust and portable.
- Selenium RC - Selenium Remote Control(RC) is officially deprecated by Selenium. It used to require an additional server for running the automation scripts and had many limitation.
- Selenium WebDriver - By far the most important component of Selenium Suite. It provides different drivers for different browsers and supports multiple programming languages.
- Selenium Grid - Selenium Grid is also an important part of Selenium Suite. It helps in distributed running of selenium tests in parallel across multiple remote machines.
Advantages of Selenium
Let's now see some of the advantages of Selenium-
- Selenium is open source, there is no licensing cost for its usage.
- Scripting can be done in most of the widely used programming languages like Java, C#, Ruby and Python
- It supports most of the popular browsers like Chrome, FireFox, Internet Explorer, Opera and Safari.
- Selenium IDE component of Selenium suite provides record and playback feature using which non-programmers can also write automation scripts.
- Selenium Grid helps in parallel and distributed testing.
Limitations of Selenium
Some of the limitation of Selenium are-
- Selenium does not provide desktop application automation support.
- Web Services - REST or SOAP cannot be automated using selenium.
- Selenium webDriver requires programming language requirement for script creation.
- For performing common tasks required in automation like logging, reading-writing to external files we have to rely on external libraries.
Going forward, we will be studying the Selenium WebDriver component exclusively in our next tutorials.