Automated GUI Testing Project
Proposed by: Heikki Toivonen
Skills: Experience with GUI frameworks, Python, C++
There are (expensive) commercial GUI testing frameworks available on Windows, but we'd like an Open Source, cross-platform system that could run a test script and submit reports to Tinderbox servers. It is thought we could record wxEvents, play them back in the script, and evaluate that expected changes happened after processing the event(s). Checking the post conditions could be done using wxPython/wxWidgets APIs, although this could result in the framework missing some actual UI bugs. However, our experiences so far have shown even this level of testing can catch lots of regressions.
OSAF already has a functional GUI testing framework for Chandler, which is a wxPython application. The framework cannot record wxEvents, and doesn't play back wxEvents either although it does cause some wxEvents to be sent for simulated mouse clicks for example. Checking of values is done through the wxPython APIs.
We'd like to take this a step further, and ideally automate the wxPython demo applications. Alternatively, or perhaps in addition, some pure wxWidgets C++ tests and demos could be automated. Ideally some new tests would also be added. Ideally there would be a tool that could be used to record wxEvents, but that isn't absolutely necessary with good documentation.
Documentation on how to create new tests should be created.
A developer making changes to wxPython/wxWidgets should be able to easily run the tests locally before checkin in changes. The framework should also be easy to install and run as a Tinderbox client, and the intention is that three such Tinderbox clients would be set up as part of the project - one running on Ubuntu Linux, one on Mac OS X and one on Windows XP.
--
HeikkiToivonen - 25 Apr 2006