Udostępnij za pośrednictwem


Omówienie automatyzacji interfejsu użytkownika

Uwaga / Notatka

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacji interfejsu użytkownika zdefiniowanych w przestrzeni nazw System.Windows.Automation. Aby uzyskać najnowsze informacje na temat automatyzacji interfejsu użytkownika, zobacz Windows Automation API: Automatyzacja interfejsu użytkownika.

Microsoft UI Automation to nowa struktura ułatwień dostępu dla systemu Microsoft Windows dostępna we wszystkich systemach operacyjnych obsługujących program Windows Presentation Foundation (WPF).

Automatyzacja interfejsu użytkownika zapewnia programowy dostęp do większości elementów interfejsu użytkownika na pulpicie, umożliwiając korzystanie z produktów technologii pomocniczych, takich jak czytniki zawartości ekranu, w celu dostarczania informacji o interfejsie użytkownika użytkownikom końcowym i manipulowaniu interfejsem użytkownika za pomocą innych niż standardowe dane wejściowe. Automatyzacja interfejsu użytkownika umożliwia również skryptom testowym automatyczne wchodzenie w interakcję z interfejsem użytkownika.

Uwaga / Notatka

Automatyzacja interfejsu użytkownika nie umożliwia komunikacji między procesami uruchamianymi przez różnych użytkowników za pomocą polecenia Uruchom jako .

Aplikacje klienckie automatyzacji interfejsu użytkownika można napisać z zapewnieniem, że będą działać w wielu strukturach. Podstawowe funkcje automatyzacji interfejsu użytkownika maskują wszelkie różnice w strukturach, które są podstawą różnych fragmentów interfejsu użytkownika. Na przykład Content właściwość przycisku WPF, Caption właściwość przycisku Win32 i ALT właściwość obrazu HTML są mapowane na jedną właściwość , Namew widoku automatyzacji interfejsu użytkownika.

Automatyzacja interfejsu użytkownika zapewnia pełną funkcjonalność obsługiwanych systemów operacyjnych Windows z uruchomionym programem .NET Framework (zobacz wymagania systemowe programu .NET Framework lub wersje platformy .NET Core, począwszy od platformy .NET Core 3.0.

Dostawcy automatyzacji interfejsu użytkownika oferują obsługę aplikacji klienckich Microsoft Active Accessibility za pośrednictwem wbudowanej usługi mostkowania.

Dostawcy i klienci

Automatyzacja interfejsu użytkownika ma cztery główne składniki, jak pokazano w poniższej tabeli.

Składnik Opis
Interfejs API dostawcy (UIAutomationProvider.dll i UIAutomationTypes.dll) Zestaw definicji interfejsu, które są implementowane przez dostawców automatyzacji interfejsu użytkownika, obiekty, które dostarczają informacje o elementach interfejsu użytkownika i reagują na dane wejściowe programowe.
Interfejs API klienta (UIAutomationClient.dll i UIAutomationTypes.dll) Zestaw typów kodu zarządzanego, który umożliwia aplikacjom klienckim automatyzacji interfejsu użytkownika uzyskiwanie informacji o interfejsie użytkownika i wysyłanie danych wejściowych do kontrolek.
UiAutomationCore.dll Podstawowy kod (nazywany czasem rdzeniem automatyzacji interfejsu użytkownika), który obsługuje komunikację między dostawcami i klientami.
UIAutomationClientsideProviders.dll Zestaw dostawców automatyzacji interfejsu użytkownika dla standardowych starszych kontrolek. (Kontrolki WPF mają natywną obsługę automatyzacji interfejsu użytkownika). Ta obsługa jest automatycznie dostępna dla aplikacji klienckich.

Z perspektywy dewelopera oprogramowania istnieją dwa sposoby korzystania z automatyzacji interfejsu użytkownika: tworzenie obsługi kontrolek niestandardowych (przy użyciu interfejsu API dostawcy) i tworzenie aplikacji korzystających z rdzenia automatyzacji interfejsu użytkownika do komunikowania się z elementami interfejsu użytkownika (przy użyciu interfejsu API klienta). W zależności od fokusu należy zapoznać się z różnymi częściami dokumentacji. Można dowiedzieć się więcej o koncepcjach oraz zdobyć wiedzę praktyczną w poniższych sekcjach.

Sekcja Treść Publiczność
Podstawy automatyzacji interfejsu użytkownika (w tej sekcji) Ogólne omówienie pojęć. Wszystkie
Dostawcy automatyzacji interfejsu użytkownika dla kodu zarządzanego Omówienie i tematy z instrukcjami ułatwiające korzystanie z interfejsu API dostawcy. Zarządzanie deweloperami.
Klienci automatyzacji interfejsu użytkownika dla kodu zarządzanego Omówienia i tematy z instrukcjami, które pomogą Ci w korzystaniu z interfejsu API klienta. Deweloperzy aplikacji klienckich.
Wzorce kontrolne automatyzacji interfejsów użytkownika Informacje o tym, jak wzorce sterowania powinny być implementowane przez dostawców oraz jakie funkcje są dostępne dla klientów. Wszystkie
Wzorzec tekstu automatyzacji interfejsu użytkownika Informacje o tym, jak wzorzec kontrolki tekstu powinien być implementowany przez dostawców oraz jakie funkcje są dostępne dla klientów. Wszystkie
Typy kontrolek automatyzacji interfejsu użytkownika Informacje o właściwościach i wzorcach kontrolek obsługiwanych przez różne typy kontrolek. Wszystkie

W poniższej tabeli wymieniono przestrzenie nazw automatyzacji interfejsu użytkownika, biblioteki DLL zawierające je oraz odbiorców, którzy ich używają.

Namespace Biblioteki DLL, do których odwołano się Publiczność
System.Windows.Automation UIAutomationClientUIAutomationTypes Deweloperzy klientów automatyzacji interfejsu użytkownika znajdują obiekty AutomationElement, rejestrują zdarzenia automatyzacji interfejsu i pracują ze wzorcami sterowania.
System.Windows.Automation.Provider Dostawca UIAutomationTypyUIAutomation Deweloperzy dostawców automatyzacji interfejsu użytkownika dla frameworków innych niż WPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypes Deweloperzy dostawców automatyzacji interfejsu użytkownika dla struktur innych niż WPF; służy do implementowania wzorca kontrolki TextPattern.
System.Windows.Automation.Peers Element PresentationFramework Deweloperzy dostawców automatyzacji interfejsu użytkownika dla WPF.

Model automatyzacji interfejsu użytkownika

Automatyzacja interfejsu użytkownika ujawnia każdy element interfejsu użytkownika aplikacjom klienckim jako AutomationElement. Elementy znajdują się w strukturze drzewa z pulpitem jako elementem głównym. Klienci mogą filtrować surowy widok drzewa jako widok kontrolny lub widok zawartości. Aplikacje mogą również tworzyć widoki niestandardowe.

AutomationElement obiekty uwidaczniają typowe właściwości elementów interfejsu użytkownika, które reprezentują. Jedną z tych właściwości jest typ kontrolki, który definiuje jego podstawowy wygląd i funkcjonalność jako pojedynczą rozpoznawalną jednostkę: na przykład przycisk lub pole wyboru.

Ponadto elementy uwidaczniają wzorce kontrolek, które zapewniają właściwości specyficzne dla ich typów kontrolek. Wzorce kontrolek uwidaczniają również metody, które umożliwiają klientom uzyskanie dalszych informacji na temat elementu i podanie danych wejściowych.

Uwaga / Notatka

Nie istnieje korespondencja jeden do jednego między typami kontrolek i wzorcami kontrolek. Wzorzec kontrolki może być obsługiwany przez wiele typów kontrolek, a kontrolka może obsługiwać wiele wzorców kontrolek, z których każdy uwidacznia różne aspekty jego zachowania. Na przykład pole kombi ma co najmniej dwa wzorce kontrolek: jeden, który reprezentuje jego zdolność do rozwijania i zwijania, a drugi, który reprezentuje mechanizm wyboru. Aby uzyskać szczegółowe informacje, zobacz Typy kontrolek automatyzacji interfejsu użytkownika.

Automatyzacja interfejsu użytkownika udostępnia również informacje dla aplikacji klienckich za pośrednictwem zdarzeń. W przeciwieństwie do rozwiązania WinEvents zdarzenia automatyzacji interfejsu użytkownika nie są oparte na mechanizmie emisji. Klienci korzystający z automatyzacji interfejsu użytkownika rejestrują się na określone powiadomienia o zdarzeniach i mogą zażądać przekazania określonych właściwości automatyzacji interfejsu użytkownika oraz informacji o wzorcu sterowania do programów obsługujących zdarzenia. Ponadto zdarzenie automatyzacji interfejsu użytkownika zawiera odwołanie do elementu, który je wywołał. Dostawcy mogą poprawić wydajność, wyzwalając sygnały selektywnie, w zależności od tego, czy nasłuchują jacyś klienci.

Zobacz także