On Tue, Jun 07, 2022 at 10:07:22AM +0100, Huw Davies wrote:
On Wed, May 25, 2022 at 02:37:35PM -0400, Connor McAdams wrote:
In Windows 10 version 1507, UiaProviderFromIAccessible will try to check the IAccessible passed in against the root IAccessible of the HWND associated with the passed in IAccessible. In all other Windows versions, this check is done on a call to get_HostRawElementProvider, or the first time navigating towards a parent or sibling. Rather than work around this, just skip the tests if this happens.
Could we write the tests so that they don't rely on implementation details? Presumably applications run correctly on Windows 10 v1507.
Huw.
So, essentially most of my tests for UI Automation kind of revolve around things like SET_EXPECT/CHECK_EXPECT/CHECK_CALLED tests as a way of testing what UI Automation does with the interfaces we pass into it. This is similar to how the tests for oleacc are done. In this case, we'd end up with a number of tests where we'd have to add a bunch of SET_EXPECT's to account for one specific version of Windows, then we'd need some sort of special CHECK_CALLED that could account for a broken behavior. It's a lot more work than I think it's worth to work around a bug in one specific version of Windows 10.
We could also just remove the whole checking of what methods are called in the tests, but most of my UI Automation tests rely upon this.
Thanks for the review. :)