Automating UI tests (was Re: Art of Unit Testing)
boudewijn at tryllian.com
Mon Aug 27 10:44:38 CEST 2001
Mike Clarkson wrote:
> It's probably easier than you think: look at the Tk 'event' command.
> It can deliver an arbitrary keyboard mouse or virtual event to any Tk
> In your UI code, setup a dictionary which contains the widgets
> that you want to test by sending events to, so that you can refer to
> then in the testng code. Then in the testing code, use the event
> command to send thngs like <Button-1> events to those widgets.
> Note that if you are testing Dialogs (popped up windows with a grab)
> you probably have to use the Tk 'after' command to queue up the events
> before instantiating the Dialog.
In PyQt, I use a a small extra framework to test whether signals arrive.
This way, I can check whether the signals that the underlying logic sends
fit what the GUI will expect. That can be extended to send signals to the
GUI and check whether the GUI components do the right thing on getting them
- it's a bit comparable to what you describe, but still no substitute for
user tests, I'm afraid.
Boudewijn | http://www.valdyas.org
More information about the Python-list