//WaTiR/
OverView


WATIR stands for "Web Application Testing In Ruby." It was birthed in August 2004 in an announcement on BretPettichord's blog:
Web Testing with Ruby

WATIR is based on three earlier versions of test tools in the WTR project. They all drive Internet Explorer (IE) using Ruby, utilizing Ruby's support for COM and IE's extensive COM interface to the the document object model (DOM). You are welcome to review our current work.

* ChrisMorris created the initial version, called ClIEc. It uses several clever techniques to provide an extremely compact api. It is packaged with MoTunes, a demonstration application. This version is labelled IEC.
* My version modified IEC, allowing it identify controls by means other means than names. We’ve also developed tutorial materials for the tool, based on Marick's TimeClock application. Unit tests exercise most of the modifications and tutorial materials. We’ve been teaching this version of the tool in workshops over the past year. The tutorial and the tool are packaged as Scripting101 [see Scripting101Class] and depends on IEC.
* Rogers created a more drastic modification, including detailed logging, to meet the needs at Wireless Matrix (WMX), where it is currently being used in production. A stripped down version of the WMX tool is contained in the Scripting101 distribution in the "contrib" directory. Samples scripts for using it to drive TimeClock are included.

...

The Plan for WATIR

The Agile XP Universe conference in Calgary this week provided an opportunity for us to get our approach reviewed (we taught a tutorial) and have face-to-face discussions for the first time. We've developed plans to develop a new tool, which we are calling WATIR (Web Application Testing in Ruby). Looking at the existing tools in the WTR as spikes, we plan to build a tool from scratch using test-driven development, reusing code from WTR, and building on the unit testing techniques developed in the Scripting101 material. This tool will have 100% coverage by unit tests.

We have sketched out the API to the tool and have secured support from managment at both Wireless Matrix and ThoughtWorks for our participation in this project.

Our initial goal is to build a tool sufficient to support the Scripting101 tutorial. This entails support for buttons, text fields, check boxes and forms, accessing them by name, action or value. Next will be supporting WRX's needs, entailing adding support for radio lists, frames, links, and selection lists. We'll also be adding a logging interface, including selectable output to the console or xml suitable for cruise control.

| Email | Reload ? || Find | Recent | Home last update: Sun May 29 2005 08:01 AM