Skip to main content

Python library for GUI automation and testing

Project description

pywinauto is a set of python modules to automate the Microsoft Windows GUI. At it’s simplest it allows you to send mouse and keyboard actions to windows dialogs and controls.

0.3.1 Performance tune-ups


  • Change calculation of distance in findbestmatch.GetNonTextControlName() so that it does not need to square or get the square root to find the real distance - as we only need to compare values - not have the actual distance. (Thanks to Stefaan Himpe)
  • Compiled regular expression patterns before doing the match to avoid compiling the regular expression for window that is being tested (Thanks to Stefaan Himpe)
  • Made it easier to add your own control tests by adding a file which needs to export a ModifyRegisteredTests() method. Also cleaned up the code a little.
  • Updated to make it easier to profile (adde a method)
  • Changed WrapHandle to use a cache for classes it has matched - this is to avoid having to match against all classes constantly.
  • Changed default timeout in SendMessageTimeout to .001 seconds from .4 seconds this results in a significant speedup. Will need to make this value modifiable via the timing module/routine.
  • WaitNot was raising an error if the control was not found - it should have returned (i.e. success - control is not in any particular state because it does not exist!).
  • Added ListViewWrapper.Deselect() per Chistophe Keller’s suggestion. While I was at it I added a check on the item value passed in and added a call to WaitGuiIdle(self) so that the control has a chance to process the message.
  • Changed doc templates and moved dependencies into pywinauto subversion to ensure that all files were availabe at and that they are not broken when viewed there.
  • Moved all timing information into the timings.Timings class. There are some simple methods for changing the timings.

You can join the mailing list or view the list archives at:

Project details

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page