Selenium: Support for Multiple Browsers, Languages and Platforms
Selenium is a popular open-source testing tool that many professionals might come across in their working lives. Especially those who work in the area of testing and require test case automation as a part of their projects are sure to have considered the Selenium suite of testing solutions. Selenium could prove to be a clear choice for your testing needs due to its support for a range of browsers, platforms, languages and frameworks. As mentioned on their page, they take compatibility seriously. This means that whichever the configuration you have chosen for your product and therefore for your testing, Selenium could most probably provide the support you require.
If you have been looking for a testing solution for your organization, the name of Selenium would have definitely come up. Why should you choose it? Let’s address this in some detail:
Organizations would need to test the functionality of their product or service on multiple browsers to ensure that a diverse range of customers would be supported. With Selenium, your test execution remains seamless whichever browser you choose to run your tests on. The browsers supported by the Selenium packages include:
- Selenium IDE can be used with Firefox as a plug-in.
- Selenium RC and Webdriver can be used with a variety of browsers such as Internet Explorer, Mozilla Firefox, Google Chrome, Safari and Opera. The versions of these browsers that are supported can be found from the Selenium documentation here. Each new release is still tested against some older versions of the browsers such as Windows XP for example, which might still be in use in some organizations.
Platform or Operating System Support
While Linux is a popular platform with developers, it is essential that test cases must run with ease on other platforms such as Windows and Mac or OS X. By using the Selenium Suite of solutions, you could create your testing suite on any platform out of these, and then execute the test cases on a different one. For example, you could create your test cases using the Windows OS, and could then run it with ease on a Linux based system. Some points to note include:
- OS X is not used for testing releases of the Selenium project, but is in use by many developers. This means that the current release of OS X will continue to be supported by Selenium, and probably one older release as well.
- All versions of MS Windows that are currently in use would be supported by Selenium.
- Ubuntu is the version of Linux that is used for testing new releases of the Selenium solution, but other versions are also supported.
Programming Language and Framework Support
Selenium supports programming languages through the use of drivers specific to each language, which offer commands from the Selenium API. Many languages are supported including C#, Java, Perl, PHP, Python and Ruby. You can find the extensive list at the Selenium documentation here. Java remains a favorite for use with Selenium 1 and 2, but the ease of using Python and Ruby is leading to many opting for these as well. For example, when an application is developed with .NET, the tester could opt to write the automation testing scripts in Java, Ruby, C# or Python. Some important criteria for the choice of programming language for your testing include:
- Organizations would probably choose to stick with the language that is already primarily in use by developers and testers. This eliminates the need for learning a new language along with learning about the Selenium suite.
- In case you have to opt for a language that is new to your team, it would make sense to pick one that is easier in order to shorten the learning curve. You could also check the APIs and their usage before making your choice.
TestNG and JUnit are the popularly used frameworks, and these could be used for your Selenium testing along with the choice of Java as your programming language. For other languages, frameworks such as NUnit, Behat + Mink, unittest, pyunit, py.test, robot framework, RSpec and Test::Unit are also supported.
It is evident that Selenium offers a range of options to testers and to organizations, and can be used in a variety of configurations with a change in browser, platform, programming language and testing framework. It is no longer necessary to learn a new language just for automating your test environment; neither do you need to be limited by the browser and platform dependency of some testing solutions. Just go with the Selenium testing suite and rest easy about the set up and execution of your entire test environment.