Přehled automatizace uživatelského rozhraní

Poznámka:

Tato dokumentace je určená pro vývojáře rozhraní .NET Framework, kteří chtějí používat spravované třídy model UI Automation definované v System.Windows.Automation oboru názvů. Nejnovější informace o model UI Automation najdete v tématu Rozhraní API služby Windows Automation: model UI Automation.

Microsoft model UI Automation je nová architektura přístupnosti pro Systém Microsoft Windows, která je dostupná ve všech operačních systémech, které podporují technologii Windows Presentation Foundation (WPF).

model UI Automation poskytuje programový přístup k většině prvků uživatelského rozhraní (UI) na ploše, což umožňuje technologiím usnadnění, jako jsou čtečky obrazovky, poskytovat informace o uživatelském rozhraní koncovým uživatelům a manipulovat s uživatelským rozhraním jinými prostředky než standardním vstupem. model UI Automation také umožňuje automatizovaným testovacím skriptům pracovat s uživatelským rozhraním.

Poznámka:

model UI Automation neumožňuje komunikaci mezi procesy spuštěnými různými uživateli prostřednictvím Spustit jako příkaz.

model UI Automation klientské aplikace lze psát s jistotou, že budou fungovat na více architekturách. Základní model UI Automation maskuje všechny rozdíly v architekturách, které tvoří základ různých částí uživatelského rozhraní. Například Content vlastnost tlačítka WPF, Caption vlastnost tlačítka Win32 a ALT vlastnost obrázku HTML jsou mapovány na jednu vlastnost, Namev zobrazení model UI Automation.

model UI Automation poskytuje úplné funkce v podporovaných operačních systémech Windows s rozhraním .NET Framework (viz systémové požadavky rozhraní .NET Framework nebo verze .NET Core počínaje rozhraním .NET Core 3.0.

model UI Automation poskytovatelé nabízejí podporu klientských aplikací Microsoft Active Accessibility prostřednictvím integrované služby přemostění.

Poskytovatelé a klienti

model UI Automation má čtyři hlavní komponenty, jak je znázorněno v následující tabulce.

Komponenta Popis
Rozhraní API zprostředkovatele (UIAutomationProvider.dll a UIAutomationTypes.dll) Sada definic rozhraní, které jsou implementovány model UI Automation zprostředkovateli, objekty, které poskytují informace o prvcích uživatelského rozhraní a reagují na programový vstup.
Klientské rozhraní API (UIAutomationClient.dll a UIAutomationTypes.dll) Sada typů spravovaného kódu, která umožňuje model UI Automation klientským aplikacím získat informace o uživatelském rozhraní a odesílat vstup do ovládacích prvků.
UiAutomationCore.dll Základní kód (někdy označovaný jako jádro model UI Automation), který zpracovává komunikaci mezi poskytovateli a klienty.
UIAutomationClientsideProviders.dll Sada poskytovatelů model UI Automation pro standardní starší ovládací prvky (Ovládací prvky WPF mají nativní podporu pro model UI Automation.) Tato podpora je automaticky dostupná pro klientské aplikace.

Z pohledu vývojáře softwaru existují dva způsoby použití model UI Automation: vytvoření podpory vlastních ovládacích prvků (pomocí rozhraní API zprostředkovatele) a vytváření aplikací, které používají model UI Automation jádro ke komunikaci s prvky uživatelského rozhraní (pomocí klientského rozhraní API). V závislosti na vašem zaměření byste měli odkazovat na různé části dokumentace. Další informace o konceptech a praktické znalosti získáte v následujících částech.

Sekce Předmět Cílová skupina
model UI Automation Základy (tato část) Široké přehledy konceptů Všechny.
Zprostředkovatelé automatizace uživatelského rozhraní pro spravovaný kód Přehledy a postupy, které vám pomůžou používat rozhraní API zprostředkovatele. Řídí vývojáře.
Klienti automatizace uživatelského rozhraní pro spravovaný kód Přehledy a postupy, které vám pomůžou používat rozhraní API klienta. Vývojáři klientských aplikací.
Vzory ovládacích prvků pro automatizaci uživatelského rozhraní Informace o tom, jak by poskytovatelé měli implementovat vzory kontroly a jaké funkce jsou pro klienty k dispozici. Všechny.
Vzor ovládacích prvků text pro automatizaci uživatelského rozhraní Informace o tom, jak má být model ovládacích prvků Text implementován poskytovateli a jaké funkce jsou k dispozici pro klienty. Všechny.
Typy ovládacích prvků pro automatizaci uživatelského rozhraní Informace o vlastnostech a vzorech ovládacích prvků podporovaných různými typy ovládacích prvků Všechny.

Následující tabulka uvádí model UI Automation obory názvů, knihovny DLL, které je obsahují, a cílovou skupinu, která je používá.

Obor názvů Odkazované knihovny DLL Cílová skupina
System.Windows.Automation UIAutomationClientUIAutomationTypes model UI Automation vývojáři klientů; slouží k vyhledání AutomationElement objektů, registraci model UI Automation událostí a práci se vzory ovládacích prvků model UI Automation.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypes Vývojáři poskytovatelů model UI Automation pro jiné architektury než WPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypes Vývojáři zprostředkovatelů model UI Automation pro jiné architektury než WPF; sloužící k implementaci vzoru ovládacího prvku TextPattern.
System.Windows.Automation.Peers Presentationframework Vývojáři poskytovatelů model UI Automation pro WPF.

model model UI Automation

model UI Automation zveřejňuje všechny části uživatelského rozhraní klientským aplikacím jako .AutomationElement Prvky jsou obsaženy ve stromové struktuře s plochou jako kořenový prvek. Klienti můžou filtrovat nezpracované zobrazení stromu jako zobrazení ovládacího prvku nebo zobrazení obsahu. Aplikace můžou také vytvářet vlastní zobrazení.

AutomationElement objekty zpřístupňují společné vlastnosti prvků uživatelského rozhraní, které představují. Jednou z těchto vlastností je typ ovládacího prvku, který definuje jeho základní vzhled a funkčnost jako jednu rozpoznatelnou entitu: například tlačítko nebo zaškrtávací políčko.

Prvky navíc zveřejňují vzory ovládacích prvků, které poskytují vlastnosti specifické pro jejich typy ovládacích prvků. Řídicí vzory také zveřejňují metody, které klientům umožňují získat další informace o prvku a poskytnout vstup.

Poznámka:

Mezi typy ovládacích prvků a vzory ovládacích prvků neexistuje korespondence 1:1. Řídicí vzor může být podporován více typy ovládacích prvků a ovládací prvek může podporovat více řídicích vzorů, z nichž každá zveřejňuje různé aspekty jeho chování. Pole se seznamem má například aspoň dva vzory ovládacích prvků: jeden, který představuje schopnost rozbalit a sbalit, a druhý, který představuje mechanismus výběru. Konkrétní informace najdete v tématu model UI Automation typy ovládacích prvků.

model UI Automation také poskytuje informace klientským aplikacím prostřednictvím událostí. Na rozdíl od WinEvents nejsou události model UI Automation založené na mechanismu vysílání. model UI Automation klienti se registrují pro konkrétní oznámení událostí a mohou požádat o předání konkrétních model UI Automation vlastností a informací o vzoru řízení do obslužných rutin událostí. Kromě toho model UI Automation událost obsahuje odkaz na prvek, který ho vyvolal. Poskytovatelé můžou zvýšit výkon selektivním vyvoláním událostí v závislosti na tom, jestli některý klient naslouchá.

Viz také