ANN: pywinauto 0.3.0 released - now localization proof
Hi, The 0.3.0 release of pywinauto is now available. 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://sourceforge.net/project/showfiles.php?group_id=157379 Here is the list of changes from 0.2.5: 0.3.0 Added Application data - now useful for localization testing ------------------------------------------------------------------ 20-Mar-2006 * Added automatic Application data collection which can be used when running the same test on a different spoken language version. Support is still preliminary and is expected to change. Please treat as early Alpha. If you have a different language version of Windows then you can try this out by running the notepad_fast.py example with the langauge argument e.g. :: examples\notepad_fast.py language This will load the application data from the supplied file notepad_fast.pkl and use it for finding the right menu items and controls to select. * Test implementation to make it easier to start using an application. Previously you needed to write code like :: app = Application().connect_(title = 'Find') app.Find.Close.Click() app.NotePad.MenuSelect("File->Exit") 1st change was to implement static methods ``start()`` and ``connect()``. These methods return a new Application instance so the above code becomes:: app = Application.connect(title = 'Find') app.Find.Close.Click() app.NotePad.MenuSelect("File->Exit") I also wanted to make it easier to start working with a simple application - that may or may not have only one dialog. To make this situation easier I made ``window_()`` not throw if the application has not been ``start()ed`` or ``connect()ed`` first. This leads to simpler code like:: app = Application() app.Find.Close.Click() app.NotePad.MenuSelect("File->Exit") What happens here is that when you execute any of Application.window_(), Application.__getattr__() or Application.__getitem__() when the application hasn't been connected or started. It looks for the window that best matches your specification and connects the application to that process. This is extra functionality - existing connect_() and start_() methods still exist * Fixed HwndWrapper.SetFocus() so that it would work even if the window was not in the foreground. (it now makes the window foreground as well as giving it focus). This overcomes a restriction in Windows where you can only change the foreground window if you own the foreground window. * Changed some 2.4'isms that an anonymous commenter left on my blog :-) with these changes pywinauto should run on Python 2.3 (though I haven't done extensive testing). * Commented out controls.common_controls.TabControlWrapper.GetTabState() and TabStates() as these did not seem to be returning valid values anyway. * Fixed documentation issues were parts of the documentation were not getting generated to the HTML files. * Fixed issue where MenuSelect would sometimes not work as expected. Some Menu actions require that the window that owns the menu be active. Added a call to SetFocus() before selecting a menu item to ensure that the window was active. * Fixed Bug 1452832 where clipboard was not closed in clipboard.GetData() * Added more unit tests now up to 248 from 207 If you want to follow this project then please sign up to the mailing list: https://lists.sourceforge.net/mailman/listinfo/pywinauto-users Thanks Mark -------------------------------------------- Mark Mc Mahon Manchester, NH 03110, USA <P><A HREF="http://sourceforge.net/projects/pywinauto">pywinauto 0.3.0</A> Simple Windows GUI automation with Python. (20-Mar-06)
participants (1)
-
Mark Mc Mahon