These alphas are replaced with 0.8.7 Beta 1
These versions are not for production use, even though 99% current tests are green (it's planned to increase framework's test base in several times, now there are only a half of thousand tests). For example, after closing a host (ISE, UIAutomationSpy, etc), an exception could appear.
The first version of elements' object model is done (or almost done), unit tests cover it up to 95%, but there are no acceptance tests yet.
Classes and interfaces are renamed as appropriate.
Converters Microsoft's AutomationElement <-> UIA wrapper element are not yet available, so that now you could use this way:
# cmdlet returns a wrapper element
$wnd = Start-Process calc -PassThru | Get-UiaWindow
# getting the original AutomationElement
$automationElement = $wnd.GetSourceElement()
# wrapping an AutomationElement to UIA wrapper
$wrapper = [UIAutomation.AutomationFactory]::GetUiElement($automationElement)
This version introduces elements' object model. Please refer to examples in documentation
and in the blog.
The biggest change is a move from System.Windows.Automation.AutomationElenent and System.Windows.Automation.AutomationElenentCollection to wrappers (names are temporary and just for better reading the code of module during refactoring, i.e. not a problem for end users) MySuperWrapper and MySuperCollection.
This is done for future extensibility and improvement of testability of the framework itself. Shortly, we will be able to pack into a wrapper more data or even to construct our own element on some partial data.
You can get the internal Automation Element via method:
(Start-Process calc -PassThru | Get-UiaWindow | Get-UiaButton 5).GetSourceElement();
and the internal AutomationElementCollection via property:
if you need it.