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 continuous integration tools.
Components of Selenium Suite
Selenium Suite comprises of the following four components-
- Selenium IDE – Selenium IDE is an add-on of the Firefox browser that provides record and playback 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 limitations.
- 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 the 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 the Selenium suite provides record and playback features using which non-programmers can also write automation scripts.
- Selenium Grid helps in parallel and distributed testing.
Limitations of Selenium
Some of the limitations 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 requirements 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.