The software industry today is characterized by software applications that are written as web-based applications to be run in an Internet browser. The effectiveness of most agile organizations testing of these types of applications tends to be ineffective, slow and manually based. In today’s world of agile development, test automation is frequently becoming a requirement for software projects. To truly gain the required ROI from test automation, it means using a software tool that is capable of running repeatable tests against the application to be tested. The key to automation testing in agile development is being able to not only automate regression testing, but also automate user acceptance criteria in a TDD manner.
The advantages of test automation are numerous. Among the advantages are the repeatability of the tests, the speed of which the tests can be executed and their accuracy. Today there are a number of off the shelf and open source tools available for developing of test automation. We believe the best solution to automating web-based applications is Selenium (WebDriver) paired with a programming language and xUnit testing framework. The Selenium Automation Framework (SAF) can plug in various open source API’s to customize and expand the framework and functionality.
Selenium is an open source tool specifically designed for the needs of testing of web applications of all types. The Selenium API is a highly flexible object-oriented testing tool, allowing many options for locating UI elements and comparing expected test results against actual application behavior. One of the key features of Selenium’s is its support for executing one’s tests on multiple browser platforms.
NOTE: When discussing Selenium we are actually talking about the WebDriver API