ANN: PyUseCase 3.2 - GUI testing for Python (PyGTK and now Tkinter)

Geoff Bache geoff.bache at
Fri Feb 26 21:19:15 CET 2010

Hi all,

A new release of PyUseCase is out. There have been some minor
improvements to PyGTK support but the main effort has been getting
Tkinter support off the ground.

At this point Tkinter support is fairly basic and doesn't come close
to covering the widget set, but it's working on a couple of different
"real-life" (but smallish) applications. The widgets it will currently
handle interaction with are Button, Entry, Label, Menu, Tk, Toplevel
and tkMessageBox. Adding support for further widgets shouldn't be too
hard. If anyone's interested in trying to move this forward, I'd be
interested to here from you - I'm very happy to help people get

Geoff Bache

A bit more detail:

PyUseCase is an unconventional GUI testing tool for PyGTK and Tkinter,
along with a framework for testing Python GUIs in general.

Instead of recording GUI mechanics directly, it asks the user for
descriptive names and hence builds up a "domain language" along with a
"UI map file" that translates this language into actions on the
current GUI widgets. The point is to reduce coupling, allow very
expressive tests, and ensure that GUI changes mean changing the UI map
file but not all the tests.

Instead of an "assertion" mechanism, it auto-generates a log of the
GUI appearance and changes to it. The point is then to use that as a
baseline for text-based testing, using e.g. TextTest.

It also includes support for instrumenting code so that "waits" can be
recorded, making it far easier for a tester to record correctly
synchronized tests without having to explicitly plan for this.

Mailing list: (new)

More information about the Python-announce-list mailing list