StoryText (formerly PyUseCase) is an unconventional GUI testing tool written in Python. It currently supports PyGTK, Tkinter, wxPython, Swing and SWT/Eclipse RCP via Jython. 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 it into the current GUI layout. 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.
StoryText is a work in progress and probably always will be. It does not claim to cover every possible thing you can do with the listed toolkits - its features are the union of the features those that have used it have needed. PyGTK support is most mature, Swing, SWT and Tkinter support is beta, wxPython support pretty basic and probably not useful for real yet. Anyone interested in helping with development should study the "Download and Install" page linked from the homepage, and drop me a line.
Project information
- Licence:
- GNU LGPL v3
View full history Series and milestones
trunk series is the current focus of development.
All code Code
- Version control system:
- Bazaar
- Programming languages:
- python
All bugs Latest bugs reported
-
Bug #1297689: Swing: Recording mouse right clicks may fail on JComponents having popup menus.
Reported -
Bug #1027609: Tables don't work with GtkBuilder
Reported -
Bug #1022459: StoryText ignores GtkBuilder names
Reported -
Bug #777769: When recording a new test, if I edit stdout, my changes get lost
Reported -
Bug #777736: slow motion replay doesn't show me what step in the use case its on
Reported