Я работаю над автоматизацией приложения с использованием инфраструктуры автоматизации пользовательского интерфейса (.net 4.6.1).
При проверке приложения с использованием Visual UI Automation Verify
я могу видеть значение AutomationId
свойств.
Я написал небольшой скрипт автоматизации на C # (wpf)
Когда я выполняю свой сценарий автоматизации в Windows 7, все работает нормально.
Когда я пробую это в windows 10, все значения AutomationId будут пустыми.
Пример кода:
AutomationElement.RootElement.FindFirst (
TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, myAutomationId)
);
Этот образец возвращает ноль, потому что он не может найти элемент со значением myAutomationId
, когда я исследовал все дочерние элементы AutomationElement.RootElement
, я обнаружил, что значения AutomationId пусты (в отличие от того, что я вижу в Visual UI Automation Verify
, и в отличие от что я получаю при работе на windows 7)
Что-то мне не хватает в AutomationId
свойствах? или о том, как
UI Automation Framework работает на Windows 10?
Edit:
Я заметил, что когда я перебираю дочерние элементы, я обнаружил, что у некоторых из них есть AutomationId со значением NativeWindowHandle .. почему это ??
Редактировать 2:
Я пробовал очень широкий спектр библиотек автоматизации пользовательского интерфейса с несколькими версиями, ни одна из которых даже не смогла найти приложение на Windows 10.
То же самое относится к TestStack.White
(также не работает на Windows 7).