In this article we learn the what is selenium, selenium components, selenium architecture, history of selenium, advantages and disadvantages of selenium.
What is Selenium?
1. Selenium is a robust test automation suite that is used for automating web- based application. It supports multiple browsers, programing language and platforms.
2. Selenium is a portable java script framework that runs in your web browser.
3. Selenium is used for testing web applications.
4. Works anywhere java script is supported.
5. The test can be written as HTML tables or coded in number of popular programming languages like java, python, ruby etc.
6. Selenium is available on windows and linux.
Selenium is composed of three major tools. Each one has a specific role in adding the development of web application test automation.
- Selenium-RC (Remote Control)
- Selenium Grid
Selenium-IDE is the integrated development environment for building selenium test cases.
It operate as a firefox addon and provide an easy to use interface for developing and running individual test cases or entire test suites.
Selenium-RC allows the test automation developer to use a programming language for maximum flexibility and extensibility in developing test logic.
It provides support for language: HTML, java, C#, perl, PHP, python and ruby.
3. Selenium Grid
Selenium grid allows the selenium-RC solution to scale for large test suit or test suits that must be run in multiple environment.
These test suites can be run on multiple operating systems and browsers in parallel.
In selenium we have selenium architecture to allows access web driver class, methods in our code directly so they are as follows:
1. Search context is the super most interface which contains abstract method and inherited to web driver interface.
2. Web driver is an interface which contain abstract method of search context and its own abstract method.
3. All the abstract method are implemented in a remote web driver class.
4. Remote web driver is a class which implements all the abstract method of both the interfaces.
5. Browser such as firefox, internet explorer, chrome and safari extends to remote web driver class.
6. To run application in multiple browser that is writing test scripts in a single browser and run the same script in different browser.
7. To achieve this we need to use upcasting in selenium. “WebDriver driver = new ChromeDriver();”
Advantages of Selenium
1. Selenium is pure open source, freeware, and portable tool.
2. Selenium supports variety of languages that include Java, Perl, Python, C#, Ruby, Groovy, Java Script, and VB Script. etc.
3. Selenium supports many operating systems like Windows, Macintosh, Linux, Unix etc.
4. Selenium supports many browsers like Internet explorer, Chrome, Firefox, Opera, Safari etc.
5. Selenium can be integrated with ANT or Maven kind of framework for source code compilation.
6. Selenium can be integrated with TestNG testing framework for testing our applications and generating reports.
7. Selenium can be integrated with Jenkins or Hudson for continuous integration.
8. Selenium can be integrated with other open source tools for supporting other features.
9. Selenium can be used for Android, IPhone, Blackberry etc. based application testing.
10. Selenium supports very less CPU and RAM consumption for script execution.
Disadvantages of Selenium
1. Selenium needs very much expertise resources. The resource should also be very well versed in framework architecture.
2. Selenium only supports web-based application and does not support windows-based application.
3. It is difficult to test Image based application.
4. Selenium need outside support for report generation activity like dependence on TestNG or Jenkins.
5. Selenium does not support built in add-ins support.
6. Selenium user lacks online support for the problems they face.
7. Selenium does not provide any built in IDE for script generation and it need other IDE like Eclipse for writing scripts.
8. Selenium script creation time is bit high.
9. Selenium does not support file upload facility.
10. Selenium partially supports for Dialog boxes.
History of Selenium
1. Selenium invented by Jcon R Hugins and his collegues.
2. Original name was “Java Script Functional Tester (JSFT)”.
3. Built as open source browser based integration test framework built by thought works for time and expense keeping system.
4. Developed using java script and HTML.
5. Designed to make test writing easy.
6. Ability to step through individual tests.
7. Cross browser: IE, Firefox, Opera, Safari and Chrome.