2006-02-17 23:38:24 +01:00
|
|
|
0.2.1 Small Release number - big changes
|
2006-02-09 23:18:51 +01:00
|
|
|
------------------------------------------------
|
2006-02-17 23:38:24 +01:00
|
|
|
17-Feb-2006
|
2006-02-09 23:18:51 +01:00
|
|
|
|
2006-02-17 23:38:24 +01:00
|
|
|
* Quick release to get many changes out there - but this release has
|
|
|
|
been less tested then I would like for a .3 release.
|
|
|
|
|
|
|
|
* Allow access to non text controls using the closest Text control.
|
|
|
|
This closest text control will normally be the static/label associated
|
|
|
|
with the control. For example in Notepad, Format->Font dialog, the 1st
|
|
|
|
combobox can be refered to as "FontComboBox" rather than "ComboBox1"
|
|
|
|
|
|
|
|
* Added a new control wrapper - ``PopupMenuWrapper`` for context menu's
|
|
|
|
You can now work easily with context menu's
|
|
|
|
e.g. ::
|
|
|
|
|
|
|
|
app.Notepad.Edit.RightClick()
|
|
|
|
# need to use MenuClick rather then MenuSelect
|
|
|
|
app.PopupMenu.MenuClick("Select All")
|
|
|
|
app.Notepad.Edit.RightClick()
|
|
|
|
app.PopupMenu.MenuClick("Copy")
|
|
|
|
|
|
|
|
I could think of merging the ``RightClick()`` and ``MenuSelect()`` into one method
|
|
|
|
``ContextMenuSelect()`` if that makes sense to most people.
|
|
|
|
|
|
|
|
* Added Support for Up-Down controls
|
|
|
|
|
2006-02-15 22:38:26 +01:00
|
|
|
* Not all top level windows now have a FriendlyClassName of "Dialog".
|
2006-02-09 23:18:51 +01:00
|
|
|
I changed this because it made it hard to get windows of a particular
|
|
|
|
class. For example the main Notepad window has a class name of "Notepad".
|
|
|
|
|
|
|
|
This was primarily implemented due to work I did getting the System Tray.
|
|
|
|
|
2006-02-17 23:38:24 +01:00
|
|
|
* Renamed ``StatusBarWrapper.PartWidths()`` to ``PartRightEdges()`` as this
|
|
|
|
is more correct for what it returns.
|
2006-02-15 22:38:26 +01:00
|
|
|
|
|
|
|
* Changed HwndWrapper.Text() and SetText() to WindowText() and
|
|
|
|
SetWindowText() respectively to try and make it clearer that it is
|
|
|
|
the text returned by GetWindowText and not the text that is visible
|
|
|
|
on the control. This change also suggested that EditWrapper.SetText()
|
|
|
|
be changed to SetEditText() (though this is not a hard requirement
|
|
|
|
EditWrapper.SetText() still exists - but may be deprecated.
|
|
|
|
|
2006-02-17 23:38:24 +01:00
|
|
|
* Added ClickInput, DoubleClickInput, RightClickInput, PressMouseInput
|
|
|
|
ReleaseMouseInput to HwndWrapper - these use SendInput rather then
|
|
|
|
WM_LBUTTONDOWN, WM_RBUTTONUP, etc used by Click, DoubleClick etc.
|
2006-02-15 22:38:26 +01:00
|
|
|
|
2006-02-17 23:38:24 +01:00
|
|
|
I also added a MenuClick method that allows you to click on menu
|
|
|
|
items. This means you can now 'physically' drop menus down.
|
|
|
|
|
|
|
|
* Some further working with tooltips that need to be cleaned up.
|
|
|
|
|
|
|
|
* Fixed a bug where coordinates passed to any of the Click operations had
|
|
|
|
the X and Y coordinates swapped.
|
|
|
|
|
|
|
|
* Added new MenuItem and Menu classes that are to the most part hidden
|
|
|
|
but you can get a menu item by doing ::
|
|
|
|
|
|
|
|
app.Notepad.MenuItem("View")
|
|
|
|
app.Notepad.MenuItem("View->Status Bar")
|
|
|
|
|
|
|
|
MenuItems have various actions so for example you can use
|
|
|
|
``MenuItem.IsChecked()`` to check if the menu item is checked.
|
|
|
|
Among other methods there are ``Click()`` and ``Enabled()``.
|
|
|
|
|
|
|
|
* Modified the 'best match' algorithm for finding controls.
|
|
|
|
It now searches a couple of times, and tries to find the best
|
|
|
|
fit for the text passed to it. The idea here is to make it more
|
|
|
|
"Select what I want - not that other thing that looks a bit like
|
|
|
|
what I want!". It is possible this change could mean you need to
|
|
|
|
use new identifiers in scripts - but in general very little modification
|
|
|
|
should be necessary.
|
|
|
|
|
|
|
|
There was also a change to the algorithm that looked for the closest
|
|
|
|
text control. It missed some obvious controls in the previous
|
|
|
|
implementation. It also had a bug for controls above the control
|
|
|
|
rather than to the left.
|
|
|
|
|
|
|
|
* Added a new example scripts SaveFromInternetExplorer.py and
|
|
|
|
SaveFromFirefox.py which show automating downloading of a page
|
|
|
|
from either of these browsers.
|
|
|
|
|
|
|
|
* Added yet more unit tests, there are now a total of 134 tests.
|
2006-02-09 23:18:51 +01:00
|
|
|
|
|
|
|
|
2006-01-31 20:14:06 +01:00
|
|
|
0.2.0 Significant refactoring
|
|
|
|
------------------------------------------------
|
2006-02-07 00:33:24 +01:00
|
|
|
06-Feb-2006
|
2006-01-31 20:14:06 +01:00
|
|
|
|
|
|
|
* Changed how windows are searched for (from application)
|
|
|
|
This chage should not be a significant change for users
|
|
|
|
|
|
|
|
* Started adding unit tests (and the have already uncovered bugs
|
|
|
|
that been fixed). They also point to areas of missing functionality
|
|
|
|
that will be addded with future updates
|
|
|
|
|
|
|
|
* Changed from property access to Control attributes to function access
|
|
|
|
If your code was accessing properties of controls then this might be a
|
|
|
|
significant change! The main reasons for doing this were due to the
|
2006-02-07 15:13:39 +01:00
|
|
|
inheritability of properties (or lack there-of!) and the additional
|
|
|
|
scafolding that was required to define them all.
|
2006-01-31 20:14:06 +01:00
|
|
|
|
2006-02-07 15:13:39 +01:00
|
|
|
* Updated the ``DialogWrapper.MenuSelect()`` method to notify the parent
|
|
|
|
that it needs to initialize the menu's before it retrieves the items
|
2006-01-31 20:14:06 +01:00
|
|
|
|
2006-02-07 15:13:39 +01:00
|
|
|
* Added functionality to associate 'non-text' controls with the 'text'
|
|
|
|
control closest to them. This allows controls to be referenced by::
|
2006-01-31 20:14:06 +01:00
|
|
|
|
2006-02-07 00:33:24 +01:00
|
|
|
app.dlg.<Nearby_text><Window_class>
|
2006-01-31 20:14:06 +01:00
|
|
|
|
2006-02-07 15:13:39 +01:00
|
|
|
e.g. to reference the "Footer" edit control in the Page Setup dialog
|
|
|
|
you could use::
|
2006-01-31 20:14:06 +01:00
|
|
|
|
|
|
|
app.PageSetup.FooterEdit
|
|
|
|
|
2006-02-07 00:33:24 +01:00
|
|
|
* Added a MoveWindow method to HwndWrapper
|
|
|
|
|
|
|
|
* Did some more cleanup (fixing pylint warnings) but still not finished
|
|
|
|
|
|
|
|
* Added some better support for .NET controls (not to be considered final)
|
|
|
|
|
|
|
|
|
2006-01-31 20:14:06 +01:00
|
|
|
|
|
|
|
|
2006-01-21 00:16:29 +01:00
|
|
|
0.1.3 Many changes, few visible
|
2006-01-21 00:15:26 +01:00
|
|
|
------------------------------------------------
|
2006-01-21 00:31:17 +01:00
|
|
|
15-Jan-2006
|
2006-01-21 00:15:26 +01:00
|
|
|
|
|
|
|
* Wrote doc strings for all modules, classes and functions
|
2006-01-21 00:16:29 +01:00
|
|
|
* Ran pychecker and pylint and fixed some errors/warning
|
2006-01-21 00:31:17 +01:00
|
|
|
* changed ::
|
|
|
|
|
|
|
|
_connect, _start, _window, _control, _write
|
|
|
|
|
|
|
|
respectively to ::
|
|
|
|
|
|
|
|
connect_, start_, window_, connect_, write_
|
|
|
|
|
|
|
|
If you forget to change ``_window``, ``_connect`` and ``_start`` then you will probably get the following error. ::
|
2006-01-21 00:15:26 +01:00
|
|
|
|
|
|
|
TypeError: '_DynamicAttributes' object is not callable
|
|
|
|
|
|
|
|
* pywinauto is now a package name - you need to import it or its modules
|
|
|
|
* Changes to the code to deal with pywinauto package name
|
|
|
|
* Fixed searching for windows if a Parent is passed in
|
|
|
|
* Added Index to retrieved MenuItem dictionary
|
|
|
|
* Added a check to ensure that a windows Handle is a valid window
|
|
|
|
* Refactored some of the methods in common_controls
|
|
|
|
* Refactored how FriendlyClassName is discovered (and still not really happy!
|
2006-01-21 00:03:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-15 21:37:52 +01:00
|
|
|
0.1.2 Add Readme and rollup various changes
|
2006-01-21 00:15:26 +01:00
|
|
|
------------------------------------------------
|
2006-01-21 00:31:17 +01:00
|
|
|
15-Jan-2006
|
2006-01-21 00:15:26 +01:00
|
|
|
|
|
|
|
* 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
|
2006-01-15 21:37:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
0.1.1 Minor bug fix release
|
2006-01-21 00:15:26 +01:00
|
|
|
------------------------------------------------
|
2006-01-15 21:37:52 +01:00
|
|
|
12-Jan-2006
|
|
|
|
|
2006-01-21 00:15:26 +01:00
|
|
|
* Fixed some minor bugs discovered after release
|
|
|
|
|
2006-01-15 21:37:52 +01:00
|
|
|
0.1.0 Initial Release
|
2006-01-21 00:15:26 +01:00
|
|
|
------------------------------------------------
|
2006-01-15 21:37:52 +01:00
|
|
|
6-Jan-2006
|
|
|
|
|