Поиск контрола с помощью AutoIT, TestStack.White или AutomationUI

Доброго времени суток, не могу найти контрол в десктопном приложении.
Ищу контрол с именем “Процессы”, не находит. Ищу контрол с именем “Меню”, находит. Не могу понять почему. Карта и код ниже.

        public DesignerAuth FindElement()
        {
            _application = Application.Launch(DESIGNER_PATH);
            Assert.IsNotNull(_application);
            GetButton(ENTER_SYSTEM_BUTTON).Click();
            Thread.Sleep(15000);
            GetButton("Процессы").Click();
            _application.Close();
            return GetDesignerAuth();
        }

        public Button GetButton(string nameButton)
        {
            for (var i = 0; i < 100; i++)
            {
                Thread.Sleep(100);
                var button = GetWindow().Get<Button>(SearchCriteria.ByText(nameButton));
            if (button != null) return button;
        }
            return null;
        }

        public Window GetWindow()
        {
            AutoItX.WinWait(winName);
            return _application.GetWindow(AutoItX.WinGetTitle(winName));
        }


Не всегда то что видит код совпадает с тем что видят программы типа UISpy.

http://teststackwhite.readthedocs.io/en/latest/AdvancedTopics/ThirdPartyControls/

Попробуй вывести структуру в лог, в TestStack.White для этого есть LogStructure()

1 лайк

пробовали искать по ByAutomationId? почему вообще используете поиск по тексту?

Вы видите в карте у элементов AutomationID?