What is Selenium?
Selenium is a testing tool which is used for automation. It is the open source interface used for automation testing. With so many tools around, market is shifting towards automation testing rather than manual testing. Automation Testing is cost saving and errorless. If walking on the road is manual testing then choosing a vehicle is automation testing. Selenium automates the test scripts.
So, does this automation works on all types of application? There’s a limitation; Selenium supports only web-based applications. It cannot be used in desktop based applications like Notepad, MS Paint that we use daily. There are other tools which can be used to automate both web-based applications and desktop applications like QTP. But again, QTP is a licensed tool whereas Selenium is an open source tool.
Components of Selenium:
Selenium is not just a tool but a set of tools which automates the test scripts. It is the most popular testing tool because of its platform independent, language independent utility. We will talk about it and compare with other testing tools. There are 4 components of Selenium:
- Selenium IDE (Integrated Development Environment).
- Selenium RC(Remote Control)
- Selenium WebDriver
- Selenium Grid
Integrated Development Environment is a plug-in for automation framework. It was initially used as a Firefox plug-in and available on Chrome Store recently in updated versions. It is a simple record and play tool used for prototype testing. It supports Record/Playback debugging feature along with editing and recording option. It allows us to test and playback tests in the browser where you can perform editing, debugging and recording tests. IDE provides Graphical User Interface for recording user actions. It is the simplest tool that creates tests very quickly without learning a test scripting language. Test cases’ execution is slow as it does not support the execution of test cases in parallel or remote execution. To overcome IDE’s limitations, another component i.e. Selenium RC is useful.
Selenium WebDriver is an advance version of Selenium RC. WebDriver provides an easy to use platform and a set of API’s which can read the script effortlessly, thus easier to read and maintain the scripts. It is purely an object oriented interface with improved features and functionalities which were not present in Selenium RC. Its architecture is simpler than Selenium RC because it directly allows the browser to retrieve test results. Unlike Selenium IDE it interacts with different browsers for example: Google Chrome, Internet Explorer, Safari, Mozilla Firefox etc. There is no need for intermediary between user and browser. Selenium WebDriver manages the browser from the OS level directly. It enables you to use programming languages of your choice to create test results. For example; Java, .Net, Python, PHP, Pearl etc.
Selenium Gridis another tool that allows the tests to run across multiple nodes. We can run scripts in parallel medium i.e. across multiple platform and browsers. Grid runs alongside different machines and runs the test. Selenium Grid allows us to consume less time in execution of test results as it runs scripts on multiple environments. All you need to do is to configure nodes. Selenium Grid comes in 2 versions. The most recent is Selenium-Grid 2.0
Selenium vs Other Tools:
Cost: Open Source, Portable
Test Environment: can use with wide range of IDE’s e.g. Eclipse, Netbeans.
Scalability: supports Java, .Net, Python, Pearl etc.
Plugins: supports add-on plug-in outside Selenium core also. As it is open source, plug-ins are available free of cost.
Cost: very expensive.
Test Environment: need separate environment.
Scalability: supports VB script only.
Plugins: also supports plug-in but license is required to use it. Not available for free. User has to purchase the licenses.
Thus we make ourselves acquainted with Selenium and its advantages. Despite having being used in web applications only, usage of Selenium is more in the market. It can be considered as the leading testing platform which helps testers to automate reusable scripts with a simple-to-understand and easy-to-use interface. It is cost effective and reduces time thus increases productivity and efficiency. Just choose your right Selenium tool and get going.