• oscon: day 2 - windmill - automated ui tests for ajax apps


    what is windmill?  it is described as:

    Project Windmill was created with the intention of reaching 100% automated testing of heavy Ajax web applications after trying desperately to make existing solutions work.

    i'm eager to listen to this one.  i've used selenium as a web testing UI platform in the past and like a lot of what it offers...i'm expecting to see what windmill provides better/different and if it is more simplistic...here we go.

    the guys behind this are mikeal rogers and adam christian of the cosmos web project(?) which is now the chandler server project.

    so adam first is showing the demonstration of windmill testing the calendar feature of the chandler server -- showing automated testing of ajaxy drag/drop features, etc.  he points to a window that is open, calling it the 'windmill ide' which looks like.

    requirements for the project:

      • run single test on all target browsers
      • easily debug tests
      • easily fit into continuous integration

    why windmill?

      • needed to test heavy ajax application which changed dramatically
      • existing solutions (selenium) didn't fill all reqs
      • debugging/test authoring was difficult
      • CI integration was a pain
      • extending libraries wasn't easy

    architecture... the service is completely written in python, ide is javascript and the test authoring library is anything.

    what can be automated?

      • OOTB support for: open, click, check, radio, wait, type, doubleClick, select, dragDrop
      • all controller actions support a unified 'locator' to reference UI elements supporting xpath, link, name, id, and jsid (calls a javascript function which returns an element id).

    the ide features:

      • multi-browser test recorder
      • multiple layers of support for perf info and metrics
      • DOM explorer (much like firebug, but multibrowser)
      • javascript shell (thank you mochikit)

    service features:

      • extensible logging
      • 3 run modes: headless command line; shell mode; wx GUI
      • browsing launching and configuration
      • server level pre and post hooks for result parsing

    these guys are working diligently on end-user docs and getting information out.  they know there may be bugs, and are hoping people use it and find them -- they are quick to respond right now.

    adam is demonstrating this in action right now...recorder looks cool, ide looks good, they did a good job here, you should check it out!

    Thursday, July 26, 2007 11:14 AM

    PostTypeIcon

Comments.

No comments posted yet.

Your Reply.

  Comment Form  

Fields denoted with a "*" are required.

*Your name:
Subject:
Your blog:
Your email:  (will not be displayed)
*Your message:

 
Please add 7 and 3 and type the answer here: