
ABSTRACT: New introductory Strongwind tutorial called
Strongwind Basics.
A big portion of our work on the
Mono UI Automation team involves making Mono WinForms applications accessible through
AT-SPI. Gtk+ applications are already accessible through AT-SPI, thanks to a bridge that connects AT-SPI and Atk. Screen readers like Orca, and other accessibility tools can then use AT-SPI to access GUI controls (widgets). This allows the accessibility tool to get information from a widget and even perform actions--like clicking a button. Because widgets are made available this way, working with accessibility lends itself extremely well to automated testing.
Several GUI application automation frameworks use AT-SPI to access widgets. For example,
LDTP,
Dogtail, and
Strongwind all access widgets through AT-SPI. On our team, we're using Strongwind to ensure that we're doing a good job of making MonoWinforms applications accessible.
Strongwind is pretty small, simple, and it has some
neat logging features. The Strongwind code is located on the GNOME SVN servers and they are the "strongwind" product on GNOME's Bugzilla. The IRC channel is #strongwind on irc.gimp.org.
One small downside is that Strongwind is relatively new; there aren't many users and not much documentation or tutorials. I decided that writing an introductory tutorial would (hopefully) be a good reference for current and future teammates. Hopefully it will be useful to others, too! It's called
Strongwind Basics, and I've been writing way too many wikis lately.
On a related note, I made a couple of diagrams for the wikis and for the
UTOSC coming up later this month.
One diagram is specifically for Strongwind and
the other shows how we implemented a harness to run several Strongwind tests on several machines and log the results. Feedback is appreciated, but this is my first real attempt with Inkscape, so don't bust my chops too much :)
pssst, we still have job openings