PyUseCase now includes basic support for wxPython, as well as Tkinter and PyGTK. There are also a fair few enhancements and bugfixes for PyGTK, notably gtk.Dialog.run is now supported without requiring source code changes.
PyUseCase also now requires at least Python 2.6 and PyGTK 2.12. The legacy instrumentation-based interface has now been removed. Full details are in the ChangeLog in the download.
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/