Работа над автоматизацией тестирования единого входа в систему для приложения клиента.Приложение открывает браузер по умолчанию (MS Edge) со страницей авторизации.
Я использую MS UI Automation, чтобы найти элементы управления и действовать.И я также использую инструмент «Проверка автоматизации пользовательского интерфейса» (VisualUIAVerifyNative) для проверки элементов управления.Инструмент отлично находит все, что мне нужно.Но я не могу найти те же элементы, используя код.
Я могу найти окно Edge и некоторые элементы управления до элемента управления с именем "m_webpageContent", который должен содержать саму страницу и элементы управления внутри нее.Но когда я пытаюсь найти элементы внутри него - я получаю нулевое значение.
var MainWindow = AutomationElement.RootElement.FindFirst(TreeScope.Descendants,
new AndCondition(
new PropertyCondition(AutomationElement.NameProperty, "Microsoft Edge"),
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window)));
var TheLayout = MainWindow.FindFirst(TreeScope.Descendants,
new AndCondition(
new PropertyCondition(AutomationElement.AutomationIdProperty, "m_webpageContent"),
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Group)));
var w = TheLayout.FindAll(TreeScope.Descendants,
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)); // 0 elements
w = TheLayout.FindAll(TreeScope.Descendants,
new PropertyCondition(AutomationElement.FrameworkIdProperty, "MicrosoftEdge")); // 0 elements
Я также пытался использовать TreeWalker, чтобы пройти через дерево элементов управления, но это также не помогло ...
Что здесь не так?Что я могу сделать еще?
Спасибо!