Is Selenium the best QA Automation Tool?

22 November 2013

According to the trends, more and more organizations are making choices in favor of open-source solutions for the automation of their products. What pushes them this way?

QA AutomationIntroducing automated software testing is an important investment and the selection of proper underlying technology represents a certain challenge for any software development organization. Currently, the IT market provides a vast variety of tools for QA automation. This includes paid and open source solutions that can satisfy different criteria (but typically not all at once). We want to talk a little about open-source perspectives and provide some highlights based on our experience and industry trends.

According to the trends, more and more organizations are making choices in favor of open source solutions for the automation of their products. What pushes them this way? The answer is simple–lots of time has passed since open source solutions just only had appeared on the market. Tons of communities and millions of members have been driving open-source products forward. As a result, now we have some very interesting and powerful solutions which are not inferior to buy-a-license tools and platforms.

QA AutomationThe success story of open-source instruments for automation has to be started from the most popular framework for the automation of web applications–Selenium. It does not matter if you are testing social networks or online retailing or even enterprise-level systems – Selenium brings an optimal combination of performance and reliability. And this at a price of $0 per license! Note that top-level instruments such as Quick Test Professional will cost you around $10 000 per workplace. So if there is a tool that is powerful enough to and cheaper in maintenance – this provides considerable savings. We would like to analyze if Selenium is such a tool and share our experience of migrating from licensed to open source platforms.

What Selenium platform can provide to QA Automation:

  1. Advanced command language. Actually, with Selenium, you can program your test scripts and test framework using any of those: Java, C#, VB, PHP, Python, Perl, Ruby, and Groovy. If you already know one of them, you don’t need to learn the tool-specific language. Most of the supported languages are platform-independent. It opens opportunities for cross-platform and compatibility testing. Say in combination with Java or PHP – you will get an automation platform which you can run on any operating system and this is not only for tests execution but for development as well;
  2. Access to advanced development practices. Since Selenium supports powerful languages like Java and C#, you can enjoy using Object-Oriented Design and Design Patterns. You can separate your tests from utility functions and hide the complexity of your test framework from test scriptwriters. This speeds up the development of sophisticated scripts and reduces the amount of duplicated code. Thus you have more reliable test hardness, which is easier to maintain.
  3. Great browser support. Selenium uses “Native Events” which provides an excellent emulation of user inputs for all browsers including Internet Explorer, Google Chrome, Firefox, and Safari. In comparison with paid tools, you don’t need to buy an additional plugin or create an additional code. Test created once run for all browsers with a slight modification of configuration settings;
  4. Powerful objects identification methods among which: by ID, ClassName, XPath, CSS,, LinkText, Name, PartialLinkText, TagName;
  5. Access to JavaScript executor. You found a case where you need to perform something which is out of basic selenium features? The JavaScript executor allows invoking any JavaScript function. It can fire any event, perform extra verifications or even extend Selenium with your own features.
  6. Mobile platforms support. You can use the same tests even for mobile platforms. Install Selenium IPhoneDriver or AndroidDriver to your mobile device or emulator.
  7. PhantomJS driver. A brand new approach to add maximum performance to web UI testing. This technology provides you emulation of a full web stack and you can run your tests on a server opening client browser. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. Which makes it perfect for non-compatibility and acceptance tests. According to our measurements, it allows you to run tests 3-5 times faster than in a browser.
  8. Distributed test execution. Selenium has a dedicated component – Grid. It allows you not only to scale by distributing tests on several machines and manage multiple environments from a central point. In such way making it easy to run the tests against a vast combination of browsers / OS. However it minimize the maintenance time for the grid by allowing you to leverage virtualization.
QA Automation

Selenium disadvantages

  • no script record feature
  • no objects repository
  • no dedicated instruments for object identification.

It may confuse a person who gets used to commercial tools. However, these features can be fulfilled with additional party open source components.

Selenium has become a global trend in the QA Automation world. More and more companies (such as Google, Yandex, O2, Nike, Amazon, IDC, and many more) have used it and continue to use it to this day. In 2012 Selenium has opened a new chapter in its history by becoming a member of W3C so eventually, all browsers which are part of W3C will have native Selenium’s support. This will provide a brand new level of confidence and reliability.

Our background has many successful cases of migration from commercial platforms (Quick Test Professional, Test Partner, TestComplete, etc.) to open source bundle (which includes Selenium as a core element). When our customers decide to explore cost-saving and extended capabilities options of open-source test automation platforms, using our services they rely on the best expertise in the QA automation industry. We provide QA automation consulting and outsourcing in form of an offshore dedicated team that is shaped per a specific business case. If you face a challenge from an automation perspective and you don’t want to spend a fabulous budget on licensed tool ware – please contact us and we will find an optimal solution for your business.

  • I am in fact happy to read this webpage posts which consists of lots of valuable facts, thanks for providing these information.

  • Hello there! This is kind of off topic but I need some guidance from an established blog.
    Is it tough to set up your own blog? I’m not very techincal but I can figure things
    out pretty quick. I’m thinking about creating my own but
    I’m not sure where to begin. Do you have any ideas or suggestions?
    Thanks

  • many thanks a good deal this web site will be conventional as well as relaxed

Leave a Comment

Your email address will not be published. Required fields are marked *