Ann: pywinauto 0.1.1 (initial release) released

Ann: pywinauto 0.1.1 (initial release) released

Post by Mark Mc Ma » Sat, 14 Jan 2006 07:07:07


'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"Typg se tt\r\n2nd le")

# 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/p
 
 
 

Ann: pywinauto 0.1.1 (initial release) released

Post by Mark Mc Ma » Tue, 17 Jan 2006 10:19:43

The 2nd release of pywinauto is now available.

Download it from the Files section of SourceForge for the project:
https://sourceforge.net/project/showfiles.php?group_id=157379

Relevant Changes:
* Updated Readme (original readme was incorrect)
* Added clipboard module
* Fixed DrawOutline part of tests.__init__.print_bugs
* Added a NotifyParent to HwndWrapper
* Make sure that HwndWrapper.ref is initialized to None
* Refactored some methods of ComboBox and ListBox
* Updated Combo/ListBox selection methods
* Removed hardcoded paths from test_application.py
* Added section to save the document as UTF-8 in MinimalNotepadTest
* Fixed EscapeSpecials and UnEscapeSpecials in XMLHelpers
* Made sure that overly large bitmaps do not break XML writing

SourceForge project page:
http://www.yqcomputer.com/

Thank you
Mark

--------------------------------------------
Mark Mc Mahon
24 Plummer Rd., Manchester, NH 03110, USA

<P><A HREF=" http://www.yqcomputer.com/ ">pywinauto 0.1.2</A>
Simple Windows GUI automation with Python. (15-Jan-06)