Delen via


Overzicht van UI Automation

Opmerking

Deze documentatie is bedoeld voor .NET Framework-ontwikkelaars die de beheerde UI Automation-klassen willen gebruiken die zijn gedefinieerd in de System.Windows.Automation naamruimte. Zie Windows Automation-API: UI Automationvoor de meest recente informatie over UI Automation.

Microsoft UI Automation is het nieuwe toegankelijkheidsframework voor Microsoft Windows, beschikbaar op alle besturingssystemen die Windows Presentation Foundation (WPF) ondersteunen.

UI Automation biedt programmatische toegang tot de meeste gebruikersinterface-elementen (UI) op het bureaublad, waardoor ondersteunende technologieproducten, zoals schermlezers, informatie kunnen verstrekken over de gebruikersinterface voor eindgebruikers en de gebruikersinterface kunnen manipuleren via andere dan standaardinvoer. Ui Automation biedt ook geautomatiseerde testscripts de mogelijkheid om te communiceren met de gebruikersinterface.

Opmerking

UI Automation maakt geen communicatie mogelijk tussen processen die door verschillende gebruikers zijn gestart via de opdracht Uitvoeren als .

UI Automation-clienttoepassingen kunnen worden geschreven met de zekerheid dat ze op meerdere frameworks werken. De ui Automation-kernmaskert eventuele verschillen in de frameworks die verschillende onderdelen van de gebruikersinterface vormen. De Content eigenschap van een WPF-knop, de Caption eigenschap van een Win32-knop en de ALT eigenschap van een HTML-afbeelding zijn allemaal toegewezen aan één eigenschap, Name, in de weergave UI Automation.

UI Automation biedt volledige functionaliteit op ondersteunde Windows-besturingssystemen waarop .NET Framework wordt uitgevoerd (zie .NET Framework-systeemvereisten of -versies van .NET Core vanaf .NET Core 3.0.

UI Automation-providers bieden enige ondersteuning voor Microsoft Active Accessibility-clienttoepassingen via een ingebouwde overbruggingsservice.

Providers en clients

UI Automation heeft vier hoofdonderdelen, zoals wordt weergegeven in de volgende tabel.

Onderdeel Beschrijving
Provider-API (UIAutomationProvider.dll en UIAutomationTypes.dll) Een set interfacedefinities die worden geïmplementeerd door UI Automation-providers, objecten die informatie bieden over UI-elementen en reageren op programmatische invoer.
Client-API (UIAutomationClient.dll en UIAutomationTypes.dll) Een set typen voor beheerde code waarmee UI Automation-clienttoepassingen informatie over de gebruikersinterface kunnen verkrijgen en invoer naar besturingselementen kunnen verzenden.
UiAutomationCore.dll De onderliggende code (ook wel de UI Automation-kern genoemd) die communicatie tussen providers en clients afhandelt.
UIAutomationClientsideProviders.dll Een set UI Automation-providers voor standaard klassieke besturingselementen. (WPF-besturingselementen hebben systeemeigen ondersteuning voor UI Automation.) Deze ondersteuning is automatisch beschikbaar voor clienttoepassingen.

Vanuit het perspectief van softwareontwikkelaars zijn er twee manieren om UI Automation te gebruiken: om ondersteuning te maken voor aangepaste besturingselementen (met behulp van de provider-API) en toepassingen te maken die gebruikmaken van de UI Automation-kern om te communiceren met UI-elementen (met behulp van de client-API). Afhankelijk van uw focus, moet u verwijzen naar verschillende onderdelen van de documentatie. In de volgende secties kunt u meer leren over de concepten en praktische kennis opdoen.

Afdeling Inhoud Audiëntie
Basisprincipes van UI Automation (deze sectie) Uitgebreide overzichten van de concepten. Alles.
UI Automation-providers voor beheerde code Overzichten en procedures om u te helpen de provider-API te gebruiken. Controleontwikkelaars.
UI Automation-clients voor beheerde code Overzichten en stapsgewijze instructies om u te helpen de client-API te gebruiken. Ontwikkelaars van clienttoepassingen.
UI-automatisering bedieningspatronen Informatie over hoe controlepatronen moeten worden geïmplementeerd door providers en welke functionaliteit beschikbaar is voor clients. Alles.
UI-automatiseringstekstpatroon Informatie over hoe het tekstbeheerpatroon moet worden geïmplementeerd door providers en welke functionaliteit beschikbaar is voor clients. Alles.
UI-automatiseringsbedieningstypen Informatie over de eigenschappen en besturingspatronen die worden ondersteund door verschillende typen besturingselementen. Alles.

De volgende tabel bevat UI Automation-naamruimten, de DLL's die deze bevatten en de doelgroep die ze gebruikt.

Namespace Dll's waarnaar wordt verwezen Audiëntie
System.Windows.Automation UIAutomationClientUIAutomationTypes UI Automation-clientontwikkelaars gebruiken dit om objecten te vinden, zich te registreren voor UI Automation-gebeurtenissen en te werken met UI Automation-besturingspatronen.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypes Ontwikkelaars van UI Automation-providers voor andere frameworks dan WPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypes Ontwikkelaars van UI Automation-providers voor frameworks anders dan WPF, gebruikt om het TextPattern-controlepatroon te implementeren.
System.Windows.Automation.Peers PresentationFramework Ontwikkelaars van UI Automation-providers voor WPF.

UI Automation-model

UI Automation maakt elk onderdeel van de gebruikersinterface beschikbaar voor clienttoepassingen als een AutomationElement. Elementen bevinden zich in een boomstructuur, met het bureaublad als wortelelement. Clients kunnen de onbewerkte weergave van de structuur filteren als een controleweergave of een inhoudsweergave. Toepassingen kunnen ook aangepaste weergaven maken.

AutomationElement objecten maken algemene eigenschappen beschikbaar van de UI-elementen die ze vertegenwoordigen. Een van deze eigenschappen is het besturingselementtype, dat het basis uiterlijk en de functionaliteit definieert als één herkenbare entiteit: bijvoorbeeld een knop of selectievakje.

Daarnaast maken elementen besturingspatronen beschikbaar die eigenschappen bieden die specifiek zijn voor hun besturingstypen. Controlepatronen maken ook methoden beschikbaar waarmee clients meer informatie over het element kunnen krijgen en invoer kunnen leveren.

Opmerking

Er is geen een-op-een-correspondentie tussen besturingstypen en controlepatronen. Een besturingselementpatroon kan worden ondersteund door meerdere typen besturingselementen en een besturingselement kan meerdere besturingspatronen ondersteunen, die elk verschillende aspecten van het gedrag ervan blootstellen. Een combobox heeft bijvoorbeeld ten minste twee controlepatronen: een die de mogelijkheid vertegenwoordigt om uit te vouwen en samen te vouwen, en een andere die het selectiemechanisme vertegenwoordigt. Zie Ui Automation-besturingstypen voor specifieke informatie.

UI Automation biedt ook informatie aan clienttoepassingen via gebeurtenissen. In tegenstelling tot WinEvents zijn UI Automation-gebeurtenissen niet gebaseerd op een broadcast-mechanisme. UI Automation-clients registreren zich voor specifieke gebeurtenismeldingen en kunnen aanvragen dat specifieke UI Automation-eigenschappen en controlepatroongegevens worden doorgegeven aan hun gebeurtenis-handlers. Daarnaast bevat een UI Automation-gebeurtenis een verwijzing naar het element dat het heeft gegenereerd. Providers kunnen de prestaties verbeteren door selectief gebeurtenissen te genereren, afhankelijk van of clients luisteren.

Zie ook