Reputation: 883
I'm working on automating an application using UI Automation framework (.net 4.6.1).
When inspecting the application using Visual UI Automation Verify
i'm able to see the value of AutomationId
properties.
I have written a small automation script in C# (wpf)
When I execute my automation script on windows 7, all works fine.
When I try it on windows 10, all the AutomationId values are string empty.
Sample code:
AutomationElement.RootElement.FindFirst (
TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, myAutomationId)
);
This sample returns null, because it cannot find an element with myAutomationId
value, when I explored all the children of AutomationElement.RootElement
I found that the AutomationId values are empty (unlike what i see on Visual UI Automation Verify
, and unlike what i get when running on windows 7)
Is there something i'm missing about AutomationId
properties? or about how
UI Automation framework runs on windows 10?
Edit:
I have noticed that when I loop through the child elements, I have found that some of them have an AutomationId that has a value of the NativeWindowHandle.. why is that??
Edit 2:
I have tried a very wide range of UI Automation dlls with multiple versions, none of was able to even find the application on windows 10.
Same thing goes for TestStack.White
(doesn't work on windows 7 either).
Upvotes: 0
Views: 768
Reputation: 21
The UIA which works fine is UIAutomationClient.dll (+ UIAutomationTypes.dll if needed)
It uses Automation interfaces directly :
IUIAutomation uiautomation = new CUIAutomation();
and so on...
Upvotes: 1