Selenium — a Closer Look at the QA Framework

Let’s dive into Selenium to see if it makes sense as part of your QA or software development team’s toolbox.

We’ve covered many different QA testing tools here at the Betica Blog, and this time out our eyes are trained on Selenium. An open source tool for testing web applications, made available for free under the Apache Software Foundation license, Selenium offers an easy to use scheme for automating browsers, creating test scripts, as well as the capability to enhance those scripts with custom programming. This flexibility is one of the framework’s key features.

Let’s dive into some of the application’s other features and functionality to see if it makes sense as part of your QA or software development team’s toolbox.

Selenium was Forged as an In-House Testing Tool

Sometimes the best applications began their life as an in-house tool created by developers hoping to work more efficiently. The Ruby on Rails web development platform is a fine example of this kind of real world methodology. Selenium was created in the same manner in 2004 as an in-house testing tool at the development shop, ThoughtWorks.

The application was so useful, they decided to open source the software later that year. A whole community of adherents — including developers from Facebook, Oracle, Google, and other tech industry giants — continues to support Selenium to this day.

Selenium IDE makes creating Test Scripts a Breeze

Selenium provides two main components. The Selenium IDE leverages the Firefox add-on platform format for test script recording and playback functionality useful for creating bug reproduction scripts and general web application automation testing. Since it is a fully-functional integrated development environment, it is possible to enhance the recorded scripts using a wide array of Selenium commands.

In addition to its own internal format, the tool also saves scripts as HTML, Ruby, as well as other formats. It supports its own plug-in architecture to add even more functionality. Since the Selenium user community is quite robust, there are many existing plug-ins available to enhance your own testing efforts.

Selenium WebDriver takes things to the Enterprise Level

Selenium WebDriver, the other major component of the QA framework suite, adds scalability and distribution across multiple environments to the product’s automation and test script development features. Many in the community consider this component to be “Selenium 2.0.” It offers a more efficient version of the application’s core functionality which lends itself to improved scalability and remote browser automation.

The tool now encapsulates Selenium Grid, which essentially functions as a server, allowing scripts to be executed on remote browser instances. Multiple tests are able to be run in parallel, using different browsers, versions, and configuations. QA for the Web is no longer a nightmare!

WebDriver supports nearly all current web browsers. In fact, negotiations are in process with the W3C to make Selenium WebDriver part of the core web standard. As such, the framework is now supported by many popular development languages, including Python, Java, C#, and Ruby, as well as a host of development IDEs, including Visual Studio.

In short, if you are doing web development, you need to check out Selenium, as it is rapidly becoming the standard for creating and running browser-based test scripts.

Stay tuned to upcoming editions of the Betica Blog, as we continue to explore the ever-changing world of QA and software development.