Test Stack White не получает некоторые элементы WPF по идентификатору автоматизации - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно получить пункты главного меню (PanelItem) в панели навигации DevComponents. Я использую метод Window.GetMultiple тестового стека Уайта (SearchCriteria.ByAutomationId ("xyz")), который отлично работает для элементов подменю (ButtonDropdown, см. Пример ниже). Я также могу получить вторую кнопку теста («TestButton2»), но я не получаю «TestButton1» и «PanelItem» (и «NavigationPane» также). У кого-нибудь есть идея, почему это так?

xmlns:dc="clr-namespace:DevComponents.WpfRibbon;assembly=DevComponents.WpfRibbon"
...
<dc:NavigationPane AutomationProperties.AutomationId="NavigationPane" Name="Test01">

    <Button AutomationProperties.AutomationId="TestButton1">Test button 1</Button>
    <dc:PaneItem AutomationProperties.AutomationId="PanelItem">
        <StackPanel>
            <Button AutomationProperties.AutomationId="TestButton2">Test button 2</Button>
            <dc:ButtonDropDown AutomationProperties.AutomationId="ButtonDropDown"></dc:ButtonDropDown>
...
</dc:NavigationPane>

1 Ответ

0 голосов
/ 04 сентября 2018

Теперь я понимаю. :) Очень хорошая документация Stack White рекомендует использовать инструмент https://archive.codeplex.com/?p=uiautomationverify, который позволяет выбрать работающее приложение и отображать видимые элементы этого приложения в дереве. Итак, я понял, что моя первая кнопка тестирования не видна, а элементы PaneItems не являются активируемыми элементами. Я думаю, что нужно щелкнуть пункты главного меню программно (не с помощью Stack White).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...