Sunday, August 9, 2009

OpenSource Testing Tools

There are a lot of pro's and cons to consider when choosing between opensource or commercial automation tools. I do not have any strong preference for either of the two. Opensource basically implies that you can customize and tailor the tool exactly to your specific needs. Commercial however, generally means there is a lot of good, solid clear documentation and a support site if not even a lot of good consultants you can hire. Of course there are consultants who specialize in opensource tools, but be honest, they are harder to find than the proverbial needle in the haystack.

Selenium - Selenium is a test tool for web applications. Selenium tests run directly in a browser, just like real users do. It runs in Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh, Safari on the Mac. We have plans to target Safari on the iPhone in some months. The quickest way to learn Selenium is via a Firefox plugin called Selenium IDE. It is quite compelling for developing tests in and quickly trying out Selenium before choosing Selenium for your project. here are two modes of operation for Selenium - Core and Remote Control (RC). Remote Control mode also has a related capability called Selenium Grid that allows you to throw hardware at tests to make it all faster.
iMacros for Firefox - Free Firefox add-on to record and automate web interactions. Can use variables inside the macros, and import data from CSV files. Includes user agent switcher, PDF download and Flash, ad and image blocking functions. The recorded macros can be combined and controlled with Javascript, so complex tasks can be scripted. The EXTRACT command enables reading of data from a website and exporting it to CSV files. Full Unicode support and works with all languages including multi-byte languages such as Chinese. STOPWATCH command enables capturing of web page response times.

Watij - Web Application Testing in Java, an open source pure Java API. Based on the simplicity of the Watir open source web test framework and enhanced by the capabilities of Java; automates functional testing of web apps through a real browser. Provides a BeanShell Desktop console; For MS IE on Windows.

Watir - 'Web Application Testing in Ruby', a free open-source tool, drives MSIE browser and checks results. Uses Ruby, a full featured object-oriented scripting language. Does not work with ActiveX plugin components, Java Applets, Macromedia Flash, or other plugin applications. Note: additional tools are available to extend some capabilities

WatiN - 'Web Application Testing in .Net', a free open-source tool, drives MSIE browser and checks results. Uses C#. Automates all major HTML elements, find elements by multiple attributes, supports AJAX website testing, supports frames (cross domain) and iframes, supports popup dialogs like alert, confirm, login etc.,supports HTML dialogs (modal and modeless), and has a basic (extensible) logging mechanism Also available is a WatiN Test Recorder