Roy Osherove

View Original

Avalon automated UI Testing framework

This is great news!

The Avalon UI Testing Framework appears to expose the UI components as an Object Model, that they are calling “Control Patterns” that expose the behavior of the controls.

He's brought a Command Prompt up.  He brought up the Windows Device Manager and clicked on it.

The Command Prompt then displays:

[Tree View] [Has Children]
Patterns = I:Selection

then he types “children” and the Device Manager tree expands.

The Command Prompt says:

Patterns - I:Invoke, IHierarchyItem. I:ExpandCollapse. I:SelectionItem

he also checks out a Combo Box and it says

Patterns - I:ExpandCollapse.

This means that rather than exposing the controls directly to the UI Testing code, it exposes the BEHAVIOR.  So, in OOP terms, a ComboBox and a Tree Control both implement “ExpandCollapse.”  But it's not that simplistic.  It's really about behavior.

Think about this:  If you were using a 3rd party control, you'd have to use that library's proprietary APIs to manipulate it.  With the Windows UI Automation framework the publisher of that control will expose behaviors.  If it's a funky Outlook Bar, perhaps it exposes ExpandCollapse also.