~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 1F01B4D45BC64FA3E3BCBC3BA8D9A4E8__1665408180 ✰
Заголовок документа оригинал.:
✰ Microsoft UI Automation - Wikipedia ✰
Заголовок документа перевод.:
✰ Автоматизация пользовательского интерфейса Microsoft — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Microsoft_UI_Automation ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/1f/e8/1f01b4d45bc64fa3e3bcbc3ba8d9a4e8.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/1f/e8/1f01b4d45bc64fa3e3bcbc3ba8d9a4e8__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 16:42:17 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 October 2022, at 16:23 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Автоматизация пользовательского интерфейса Microsoft — Википедия Jump to content

Автоматизация пользовательского интерфейса Microsoft

Из Википедии, бесплатной энциклопедии

Microsoft UI Automation (UIA) — это интерфейс прикладного программирования (API), который позволяет получать доступ, идентифицировать и манипулировать элементами пользовательского интерфейса (UI) другого приложения. [1] [2]

UIA нацелен на обеспечение доступности пользовательского интерфейса и является преемником Microsoft Active Accessibility . Он также облегчает автоматизацию тестирования графического пользовательского интерфейса и является движком, на котором автоматизации тестирования основаны многие инструменты . Инструменты RPA также используют его для автоматизации приложений в бизнес-процессах .

Поставщики недвижимости МАУ поддерживают программы как Win32 , так и .NET .

Последняя спецификация UIA находится в составе обещанной спецификации сообщества Microsoft UI Automation . Microsoft утверждает, что переносимость на платформы, отличные от Microsoft Windows, была одной из целей ее разработки. С тех пор он был портирован на Mono . [3]

История [ править ]

В 2005 году Microsoft выпустила UIA в качестве преемника платформы MSAA .

API управляемой автоматизации пользовательского интерфейса был выпущен как часть .NET Framework 3.0 . Собственный API автоматизации пользовательского интерфейса (поставщик) включен в состав пакета SDK для Windows Vista и Windows Server 2008, а также распространяется вместе с .NET Framework.

UIA доступен «из коробки» в Windows 7 как часть Windows Automation API 3.0 и как отдельная загрузка для Windows XP, Windows Vista и Windows Server 2003 и 2008. [4]

Мотивация и цели [ править ]

Являясь преемником MSAA, МАУ стремится достичь следующих целей:

  • Обеспечьте эффективную производительность клиентов, не заставляя их подключаться к процессу целевого приложения.
  • Предоставляйте дополнительную информацию о пользовательском интерфейсе.
  • Сосуществовать с MSAA и использовать его, но не наследовать проблемы, существующие в MSAA.
  • Предоставьте простую в реализации альтернативу MSAA.

Технический обзор [ править ]

Рамка
Frame

На стороне клиента МАУ предоставляет интерфейс .NET в UIAutomationClient.dll сборка и COM- интерфейс, реализованный непосредственно в UIAutomationCore.dll.

На стороне сервера, UIAutomationCore.dllвнедряется во все или выбранные процессы на текущем рабочем столе для выполнения извлечения данных от имени клиента. DLL также может загружать плагины UIA (называемые поставщиками ) в свой хост-процесс для извлечения данных с использованием различных методов.

МАУ имеет четыре основных компонента поставщика и клиента, как показано в следующей таблице.

Компонент Описание
UIAutomationCore (UIAutomationCore.dll и зависимые файлы) Базовый код (иногда называемый ядром UIA), который управляет связью между поставщиками и клиентами. UI Automation Core также предлагает интерфейсы API поставщика и клиента для неуправляемых приложений и клиентов; неуправляемым приложениям (клиентам или поставщикам) не требуются управляемые сборки, перечисленные ниже.
API управляемого поставщика (UIAutomationProvider.dll и зависимые файлы)

Набор определений и функций интерфейса , реализуемых управляемыми приложениями поставщика UIA. Поставщики — это объекты, которые предоставляют информацию об элементах пользовательского интерфейса и реагируют на программный ввод.

Управляемый клиентский API (UIAutomationClient.dll и зависимые файлы) Набор определений и функций интерфейса для управляемых клиентских приложений UIA.
UIAutomationClientsideProviders.dll Набор реализаций поставщика UIA для устаревших элементов управления Win32 и приложений MSAA. Этот клиентский поставщик по умолчанию доступен управляемым клиентским приложениям.

Элементы [ править ]

UIA предоставляет клиентским приложениям каждую часть пользовательского интерфейса как элемент автоматизации. Элементы содержатся в древовидной структуре, корневым элементом которой является рабочий стол.

Объекты элементов автоматизации предоставляют общие свойства элементов пользовательского интерфейса, которые они представляют. Одним из этих свойств является тип элемента управления, который определяет его основной внешний вид и функциональность как единого распознаваемого объекта (например, кнопки или флажка).

Кроме того, элементы предоставляют шаблоны элементов управления, которые предоставляют свойства, специфичные для их типов элементов управления. Шаблоны управления также предоставляют методы, которые позволяют клиентам получать дополнительную информацию об элементе и предоставлять входные данные.

Клиенты могут фильтровать необработанное представление дерева как представление элемента управления или представление содержимого. Приложения также могут создавать собственные представления.

Дерево [ править ]

В дереве UIA есть корневой элемент, который представляет текущий рабочий стол, а дочерние элементы которого представляют окна приложения. Каждый из этих дочерних элементов может содержать элементы, представляющие части пользовательского интерфейса, такие как меню, кнопки, панели инструментов и списки. Эти элементы, в свою очередь, могут содержать другие элементы, например элементы списка.

Дерево UIA не является фиксированной структурой и редко встречается целиком, поскольку оно может содержать тысячи элементов. Части дерева строятся по мере необходимости, и дерево может претерпевать изменения по мере добавления, перемещения или удаления элементов.

Типы управления [ править ]

Типы элементов управления UIA — это хорошо известные идентификаторы, которые можно использовать для указания того, какой тип элемента управления представляет конкретный элемент, например поле со списком или кнопка.

Наличие хорошо известного идентификатора позволяет устройствам со вспомогательными технологиями (AT) легче определять, какие типы элементов управления доступны в пользовательском интерфейсе (UI) и как с ними взаимодействовать. Удобочитаемое представление информации о типе управления МАУ доступно в виде файла. LocalizedControlType свойство, которое может быть настроено разработчиками элементов управления или приложений.

Шаблоны управления [ править ]

Шаблоны элементов управления позволяют классифицировать и раскрывать функциональные возможности элемента управления независимо от типа элемента управления или его внешнего вида.

UIA использует шаблоны управления для представления общего поведения элементов управления. Например, Invoke Шаблон элемента управления используется для элементов управления, которые можно вызывать (например, кнопок), и ScrollШаблон элемента управления используется для элементов управления, которые представляют собой прокручиваемые области просмотра (например, списки, представления списков или поля со списком). Поскольку каждый шаблон элемента управления представляет собой отдельную функциональность, их можно объединить для описания полного набора функций, поддерживаемых конкретным элементом управления.

Свойства [ править ]

Поставщики UIA предоставляют свойства элементов UIA и шаблонов управления. Эти свойства позволяют клиентским приложениям UIA обнаруживать информацию о частях пользовательского интерфейса (UI), особенно об элементах управления, включая как статические, так и динамические данные.

События [ править ]

Уведомление о событиях МАУ является ключевой функцией вспомогательных технологий (AT), таких как программы чтения с экрана и экранные лупы. Эти клиенты МАУ отслеживают события, инициируемые провайдерами МАУ и происходящие внутри МАУ, и используют эту информацию для уведомления конечных пользователей.

Эффективность повышается за счет разрешения приложениям поставщика вызывать события выборочно, в зависимости от того, подписаны ли какие-либо клиенты на эти события, или не подписываться вообще, если ни один клиент не прослушивает какие-либо события.

Текстовый шаблон [ править ]

UIA предоставляет текстовое содержимое, включая атрибуты формата и стиля текстовых элементов управления на платформах, поддерживаемых UIA. Эти элементы управления включают, помимо прочего, Microsoft .NET Framework. TextBox и RichTextBox а также их эквиваленты Win32.

Представление текстового содержимого элемента управления осуществляется с помощью TextPatternшаблон управления, который представляет содержимое текстового контейнера в виде текстового потока. По очереди, TextPattern требуется поддержка со стороны TextPatternRange class для предоставления атрибутов формата и стиля. TextPatternRange поддерживает TextPattern представляя непрерывный текстовый диапазон в текстовом контейнере с помощью Start и Endконечные точки. Множественные или непересекающиеся текстовые диапазоны могут быть представлены более чем одним TextPatternRange объекты. TextPatternRange поддерживает такие функции, как клонирование, выбор, сравнение, поиск и обход.

Автоматизация пользовательского интерфейса для автоматического тестирования [ править ]

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

Программный доступ обеспечивает возможность имитировать с помощью кода любое взаимодействие и опыт, возникающие при традиционном взаимодействии с пользователем. МАУ обеспечивает программный доступ через пять компонентов:

  • Дерево UIA облегчает навигацию по логической структуре пользовательского интерфейса для обеспечения доступности и автоматизации.
  • Элементы автоматизации пользовательского интерфейса — это отдельные компоненты пользовательского интерфейса.
  • Свойства автоматизации пользовательского интерфейса предоставляют конкретную информацию об элементах пользовательского интерфейса или шаблоне управления.
  • Шаблоны элементов управления автоматизации пользовательского интерфейса определяют конкретный аспект функциональности или функции элемента управления; они могут состоять из информации о свойствах, методах, событиях и структурах.
  • События автоматизации пользовательского интерфейса предоставляют триггер для реагирования на изменения и уведомления в информации МАУ.

Наличие [ править ]

Первоначально UIA был доступен в Windows Vista и Windows Server 2008, а также был доступен для Windows XP и Windows Server 2003 как часть .NET Framework 3.0. Он был интегрирован со всеми последующими версиями Windows, вплоть до Windows 7 включительно . [5]

Помимо платформ Windows, проект Olive (который представляет собой набор дополнительных библиотек для ядра Mono, предназначенных для поддержки .NET Framework) включает подмножество WPF ( PresentationFramework и WindowsBase) и автоматизация пользовательского интерфейса. [6]

Проект Novell Mono Accessibility представляет собой реализацию спецификаций поставщика и клиента UIA, предназначенную для платформы Mono. Кроме того, проект обеспечивает мост к Accessibility Toolkit (ATK) для вспомогательных технологий Linux (AT). Novell также работает над мостом для взаимодействия AT на базе UIA с приложениями, реализующими ATK. [7]

Связанные технологии и совместимость [ править ]

  • Microsoft Active Accessibility (MSAA) : UIA является преемником MSAA. Однако, поскольку приложения на основе MSAA все еще существуют, для обеспечения связи между приложениями UIA и MSAA используются мосты. Таким образом, информация может быть разделена между двумя API, были разработаны прокси-сервер MSAA-UIA и мост UIA-MSAA. Первый — это компонент, который потребляет информацию MSAA и делает ее доступной через клиентский API UIA. Последний позволяет клиентским приложениям использовать приложения доступа MSAA, реализующие UIA. [8]
  • Доступные многофункциональные интернет-приложения (ARIA) : МАУ AriaRole и AriaPropertiesСвойства могут предоставлять доступ к значениям атрибутов ARIA, соответствующим элементу HTML (который может быть представлен веб-браузерами как элемент автоматизации). Также доступно общее сопоставление атрибутов ARIA с UIA. [3]
  • Windows Automation API . Начиная с Windows 7, Microsoft объединяет свои технологии специальных возможностей в рамках платформы под названием Windows Automation API. И MSAA, и МАУ будут частью этой структуры. Для более старых версий Windows см. KB971513. [9]
  • Проект Mono Accessibility : 7 ноября 2007 г. Microsoft и Novell Inc. , по истечении года действия соглашения о совместимости, объявили, что они расширят свое соглашение, включив в него доступность. [10] [11] В частности, было объявлено, что Novell разработает адаптер с открытым исходным кодом, позволяющий платформе UIA работать с существующими проектами специальных возможностей Linux , такими как Linux Accessibility Toolkit (ATK), который поставляется с SUSE Linux Enterprise Desktop , Red Hat Enterprise Linux и Ubuntu Linux . В конечном итоге это сделает МАУ кроссплатформенной.

Примечания [ править ]

  1. ^ Дэррил К. Тафт: Microsoft продвигает технологию межплатформенной доступности , EWeek (28 ноября 2005 г.), по состоянию на 7 февраля 2007 г.
  2. ^ Microsoft: Новая модель доступности Microsoft будет предлагаться как кроссплатформенное решение для промышленности , по состоянию на 6 февраля 2007 г.
  3. ^ Перейти обратно: а б Сеть разработчиков Microsoft: спецификация автоматизации пользовательского интерфейса и обещания сообщества
  4. ^ Описание API автоматизации Windows.
  5. ^ Microsoft: Обзор автоматизации пользовательского интерфейса , по состоянию на 7 февраля 2007 г.
  6. ^ Моно: Оливковое .
  7. ^ Мигель де Икаса и Филипп Коэн: Mono, Mainsoft и кросс-платформенная разработка предприятия. Архивировано 17 июня 2008 г. в Wayback Machine , Enterprise Open Source Magazine (14 января 2007 г.), по состоянию на 7 февраля 2007 г.
  8. ^ Сеть разработчиков Microsoft (MSDN): Microsoft, UI Automation и Microsoft Active Accessibility , по состоянию на 7 февраля 2007 г.
  9. ^ KB971513: Загрузка API автоматизации Windows.
  10. ^ Microsoft: Microsoft и Novell отмечают год совместимости и расширяют соглашение о сотрудничестве .
  11. ^ Домашняя страница проекта Mono Accessibility .

Ссылки [ править ]

Внешние ссылки [ править ]


Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 1F01B4D45BC64FA3E3BCBC3BA8D9A4E8__1665408180
URL1:https://en.wikipedia.org/wiki/Microsoft_UI_Automation
Заголовок, (Title) документа по адресу, URL1:
Microsoft UI Automation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)