I'm pleased to announce the first public release of pywinauto 0.1.1 pywinauto is a set of open-source (LGPL) modules for using Python as a GUI automation 'driver' for Windows NT based Operating Systems (NT/W2K/XP). SourceForge project page: http://sourceforge.net/projects/pywinauto Download from SourceForge http://prdownloads.sourceforge.net/pywinauto/pywinauto-0.1.1.zip?download pywinauto-users mailing list http://lists.sourceforge.net/lists/listinfo/pywinauto-users pywinauto was nudged into existence by the creation of Watsup (http://www.tizmoi.net/watsup/intro.html) a similar tool based on Simon Brunning's (http://www.brunningonline.net/simon/blog/index.html) winGuiAuto.py. There are many similar tools that do this (see: http://tejasconsulting.com/open-testware/feature/gui-test-driver-survey.html) So how is pywinauto different? It is still in early stages of development (but is about as functional as many of the other automation tools). I think I have designed pywinauto in such a way that it should be easy to add new actions for Controls. For example imagine # 10th item on 1st level, 21st item on 2nd, 45th on 3rd dlg.TreeView.Select("#10\#21\#45") # Or Possibly (or even both!) TreeView.Select(path_re = "Desktop\\.*\\.*c:\\Temp") It supports Typing accented/Unicode text (by sending them to the text area directly - rather then using SendKeys which does not appear to handle extended/Unicode text well. It does not require previous analysis of the dialogs to be automated or for 'reference' information to be saved. I have also kept in mind that to have language neutral scripts is more or less impossible - but I am planning to enable a flag that would enable lookup in previously saved reference information (saved during development of the script probably) that should enable scripts to run unmodified. (At least that's the idea - though there are cases where sorting - e.g. listboxes - might make that impossible). There is currently no documentation and the examples do double duty as tests. I am hoping to improve this. Any interest in my first publicly release code would help my ego greatly :-) Requirements: ctypes http://starship.python.net/crew/theller/ctypes/ Sendkeys http://www.rutherfurd.net/python/sendkeys/index.html (Optional) PIL http://www.pythonware.com/products/pil/index.htm (Optional) elementtree http://effbot.org/downloads/ Very simple test of Notepad automation (notice no time.sleep() ;-) ----------------------- :< ----------------------- import application app = application.Application() app._start(ur"c:\windows\system32\notepad.exe") app.Notepad.MenuSelect("File->PageSetup") # ----- Page Setup Dialog ---- # Select the 'Letter' combobox item app.PageSetupDlg.ComboBox1.Select("Letter") # Now close the dialog app.PageSetupDlg.Ok.Click () # type some text app.Notepad.Edit.SetText(u"Typíng söme tèxt\r\n2nd lïne") # Close Notepad (and don't save) app.Notepad.MenuSelect("File->Exit") app.Notepad.No.Click () ----------------------- :< ----------------------- pywinauto makes significant use of ctypes, I would like to extend my thanks to Thomas Heller and the whole Python community for producing such intuitive tools! Thank you Mark -------------------------------------------- Mark Mc Mahon 24 Plummer Rd., Manchester, NH 03110, USA <P><A HREF="http://sourceforge.net/projects/pywinauto">pywinauto 0.1.1</A> Simple Windows GUI automation with Python. (12-Jan-06)