[Tkinter-discuss] ANN: PyUseCase 3.2 - GUI testing for Tkinter (and PyGTK)

Geoff Bache geoff.bache at gmail.com
Fri Feb 26 21:13:59 CET 2010

Hi all,

Thought I'd announce that I've finally released my GUI testing effort
for Tkinter. (If you don't want announcements here, please let me know
and I'll desist.)

As you'll gather if you read my previous postings I've been trying to
get Tkinter support into PyUseCase (which has been a PyGTK-only tool
up until now) and I've now made a release of my efforts, available
from sourceforge (link below).

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.

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/

More information about the Tkinter-discuss mailing list