Как запросить заголовок текущего UI-окна, которое тестировалось в Coded-UI-Test? - PullRequest
0 голосов
/ 12 апреля 2019

Может ли кто-нибудь из вас сказать мне, как я могу получить заголовок окна (UI-Control), которое в данный момент открыто во время моего UI-Test? (Кодированный UI-тест с Visual Studio в Visual Basic .NET)

Я уже некоторое время искал, но, к сожалению, ничего не смог найти.

Заранее спасибо за помощь.

С наилучшими пожеланиями Simon

1 Ответ

0 голосов
/ 12 апреля 2019

Вы можете найти для этого элемента управления идентификатор автоматизации и взглянуть на свойства найденного элемента управления. В своем кодовом тесте пользовательского интерфейса вы можете проверить, существует ли элемент управления, когда вы ожидаете, что он будет доступен. Посмотрите на этот скриншот, это данные из окна проводника, которое я сделал с Inspect.exe. enter image description here

Как вы можете видеть, в этом случае в моем тестовом сценарии мне нужно найти AutomationId "TitleBar" и использовать значение из свойств LegacyIAccessible.Value или Value.Value, чтобы получить заголовок окна.

Поскольку вы работаете с закодированным пользовательским интерфейсом, самый простой способ получить этот элемент управления - использовать встроенный построитель кодированных тестов пользовательского интерфейса из Visual Studio и добавить элемент управления в UIMap. Нет необходимости записывать новый тест. Вы можете найти инструкции здесь . Ответ от SudheerUppada - полезный бит. Если вам не нравится работать с UIMaps, вы можете скопировать полезные биты сгенерированного кода в свой тестовый скрипт и затем удалить элемент управления из UIMap.

Вот скриншот того же элемента управления пользовательского интерфейса, взятый из тестового компоновщика: enter image description here В этом примере заголовок окна доступен через свойство DisplayText.

Существуют также более общие способы поиска текущего заголовка окна. Это включает в себя итерацию любого данного элемента управления, пока у вас не будет верхнего родительского элемента управления. Вам нужно будет написать метод, который предполагает использование UITestControl.GetParent(). Вероятно, он должен быть рекурсивным, чтобы получить родителя от родителя от родителя из ..... Вы правильно поняли идею? Взгляните на этот ответ, он примерно такой же, но для дочерних элементов управления. Вы можете преобразовать код C # в код VB с помощью онлайн-инструментов, таких как , этот от telerik.

Существует вероятность того, что элемент управления и / или заголовок из этого элемента управления не будут доступны для вашего кодированного пользовательского теста. Это другая проблема. Если это так в вашей ситуации, в Интернете доступно множество ресурсов, в которых описывается, что необходимо сделать ... или вы можете опубликовать новый вопрос по этому поводу: -).

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