UI Automation Verify v / s UISpy - как они находят элементы пользовательского интерфейса - PullRequest
0 голосов
/ 30 декабря 2011

Я пытаюсь автоматизировать взаимодействие с пользовательским интерфейсом для приложения C ++ MFC.Я попытался найти идентификатор автоматизации элементов с помощью инструментов UISpy и UIAVerify.Я нахожусь на win2k3.

Существует элемент управления вкладкой, идентификатор автоматизации которого виден для UISpy, но не для UIAVerify.

Проблема в том, что она не видна даже в коде C #что я пишу с использованием среды Project White или среды автоматизации пользовательского интерфейса .net 3.0.

Я хочу получить контроль над этим элементом управления так, как его получает UISpy.Могу ли я узнать, как это делает UISpy?

Спасибо !!!

1 Ответ

0 голосов
/ 12 января 2012

UISpy, вероятно, использует Microsoft UI Automation под прикрытием.Вы можете увидеть, как это работает, из этого примера *.В AutomationElement есть все виды условий, которые вы можете использовать для их нахождения.

Я работал только с вкладками WPF, но обнаружил, что найти их по идентификатору Automation очень и очень сложно.Вместо этого я использовал свойство AutomationName с заголовком на вкладке в качестве значения.Не уверен, что белые поддерживают это, но я уверен, что вы можете вытащить оригинал AutomationElement и использовать его в соответствии с примером.

Возможно, вы также ищете что-то, поддерживающее SelectionItemPattern(есть SelectionItemIsSupportedProperty), и вам нужно будет использовать шаблон, чтобы выбрать вкладку и сделать ее активной, прежде чем вы сможете что-либо увидеть в ней.

Пожалуйста, прокомментируйте, если вам нужна дополнительная информация.Это может помочь узнать, какова структура вашего контейнера с вкладками.

* Заявление о заинтересованности, так как я написал это.

...