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 started.
Regards, 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.
Homepage: http://www.texttest.org/index.php?page=ui_testing Download: http://sourceforge.net/projects/pyusecase Mailing list: https://lists.sourceforge.net/lists/listinfo/pyusecase-users (new) Bugs: https://bugs.launchpad.net/pyusecase/ Source: https://code.launchpad.net/pyusecase/