Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas Automation UI terkelola yang ditentukan dalam namespace System.Windows.Automation. Untuk informasi terbaru tentang Automasi UI, lihat Windows Automation API: UI Automation.
Microsoft UI Automation adalah kerangka kerja aksesibilitas baru untuk Microsoft Windows, yang tersedia di semua sistem operasi yang mendukung Windows Presentation Foundation (WPF).
UI Automation menyediakan akses terprogram ke sebagian besar elemen antarmuka pengguna (UI) di desktop, memungkinkan produk teknologi bantuan seperti pembaca layar untuk memberikan informasi tentang UI kepada pengguna akhir dan untuk memanipulasi UI dengan cara selain input standar. Automasi UI juga memungkinkan skrip pengujian otomatis berinteraksi dengan UI.
Nota
Automasi UI tidak mengaktifkan komunikasi antara proses yang dimulai oleh pengguna yang berbeda melalui perintah Jalankan sebagai .
Aplikasi klien UI Automation dapat ditulis dengan jaminan bahwa aplikasi tersebut akan berfungsi pada berbagai kerangka kerja. Inti Otomasi UI menyamarkan perbedaan apa pun dalam kerangka kerja yang mendasari berbagai bagian UI. Misalnya, Content
properti tombol WPF, Caption
properti tombol Win32, dan ALT
properti gambar HTML semuanya dipetakan ke satu properti, Name, dalam tampilan Automasi UI.
Automasi UI menyediakan fungsionalitas penuh pada sistem operasi Windows yang didukung yang menjalankan .NET Framework (lihat persyaratan sistem .NET Framework atau versi .NET Core yang dimulai dengan .NET Core 3.0.
Penyedia UI Automation menawarkan beberapa dukungan kepada aplikasi klien Microsoft Active Accessibility melalui layanan bridging bawaan.
Penyedia dan Klien
Automasi UI memiliki empat komponen utama, seperti yang ditunjukkan dalam tabel berikut.
Komponen | Deskripsi |
---|---|
API Penyedia (UIAutomationProvider.dll dan UIAutomationTypes.dll) | Sekumpulan definisi antarmuka yang diimplementasikan oleh penyedia Automation UI, objek yang menyediakan informasi tentang elemen UI dan merespons input terprogram. |
API Klien (UIAutomationClient.dll dan UIAutomationTypes.dll) | Sekumpulan jenis untuk kode terkelola yang memungkinkan aplikasi klien Automation UI untuk mendapatkan informasi tentang UI dan mengirim input ke kontrol. |
UiAutomationCore.dll | Kode yang mendasar (kadang-kadang disebut inti Automation UI) yang menangani komunikasi antara penyedia dan klien. |
UIAutomationClientsideProviders.dll | Sekumpulan penyedia otomasi UI untuk kontrol klasik yang standar. (Kontrol WPF memiliki dukungan asli untuk Automasi UI.) Dukungan ini secara otomatis tersedia untuk aplikasi klien. |
Dari perspektif pengembang perangkat lunak, ada dua cara menggunakan Automasi UI: untuk membuat dukungan untuk kontrol kustom (menggunakan API penyedia), dan membuat aplikasi yang menggunakan inti Automasi UI untuk berkomunikasi dengan elemen UI (menggunakan API klien). Bergantung pada fokus Anda, Anda harus merujuk ke berbagai bagian dokumentasi. Anda dapat mempelajari lebih lanjut tentang konsep dan mendapatkan pengetahuan cara praktis di bagian berikut.
Bagian | Tema | Audiens |
---|---|---|
Dasar-Dasar Automasi UI (bagian ini) | Gambaran umum konsep yang luas. | Semua. |
Penyedia Otomasi UI untuk Kode Terkelola | Ringkasan dan topik cara penggunaan untuk membantu Anda menggunakan API penyedia. | Kendalikan pengembang. |
Aplikasi Klien UI Otomatisasi untuk Kode Terkelola | Ringkasan dan topik cara penggunaan untuk membantu Anda menggunakan API klien. | Pengembang aplikasi klien. |
Pola Kontrol Automasi UI | Informasi tentang bagaimana pola kontrol harus diterapkan oleh penyedia, dan fungsionalitas apa yang tersedia untuk klien. | Semua. |
Pola Teks Automasi UI | Informasi tentang bagaimana pola kontrol Teks harus diterapkan oleh penyedia, dan fungsionalitas apa yang tersedia untuk klien. | Semua. |
Tipe Kontrol Automasi UI | Informasi tentang properti dan pola kontrol yang didukung oleh berbagai jenis kontrol. | Semua. |
Tabel berikut mencantumkan namespace layanan Automation UI, DLL yang berisinya, dan audiens yang menggunakannya.
Ruang Nama | DLL yang dirujuk | Audiens |
---|---|---|
System.Windows.Automation | UIAutomationClientUIAutomationTypes | Pengembang klien UI Automation: digunakan untuk menemukan objek AutomationElement, mendaftar untuk peristiwa UI Automation, dan bekerja dengan pola kontrol UI Automation. |
System.Windows.Automation.Provider | UIAutomationProviderUIAutomationTypes | Pengembang penyedia Automation UI untuk kerangka kerja selain WPF. |
System.Windows.Automation.Text | UIAutomationClientUIAutomationTypes | Pengembang penyedia Automation UI untuk kerangka kerja selain WPF; digunakan untuk mengimplementasikan pola kontrol TextPattern. |
System.Windows.Automation.Peers | PresentationFramework | Pengembang penyedia Automation UI untuk WPF. |
Model Automasi UI
Automasi UI mengekspos setiap bagian UI ke aplikasi klien sebagai AutomationElement. Elemen disusun dalam struktur data pohon, dengan desktop sebagai elemen akar. Klien dapat memfilter tampilan mentah pohon sebagai tampilan kontrol atau tampilan konten. Aplikasi juga dapat membuat tampilan kustom.
AutomationElement objek mengekspos properti umum elemen UI yang diwakilinya. Salah satu properti ini adalah jenis kontrol, yang mendefinisikan tampilan dan fungsionalitas dasarnya sebagai entitas tunggal yang dapat dikenali: misalnya, tombol atau kotak centang.
Selain itu, elemen mengekspos pola kontrol yang menyediakan properti khusus untuk jenis kontrolnya. Pola kontrol juga mengekspos metode yang memungkinkan klien untuk mendapatkan informasi lebih lanjut tentang elemen dan untuk memberikan input.
Nota
Tidak ada korespondensi satu-ke-satu antara jenis kontrol dan pola kontrol. Pola kontrol dapat didukung oleh beberapa jenis kontrol, dan kontrol dapat mendukung beberapa pola kontrol, yang masing-masing mengekspos aspek perilakunya yang berbeda. Misalnya, kotak kombo memiliki setidaknya dua pola kontrol: satu yang mewakili kemampuannya untuk memperluas dan menciutkan, dan yang lain yang mewakili mekanisme pemilihan. Untuk detailnya, lihat Jenis Kontrol Automasi UI.
Automasi UI juga menyediakan informasi kepada aplikasi klien melalui peristiwa. Tidak seperti WinEvents, peristiwa Automasi UI tidak didasarkan pada mekanisme siaran. Klien Automation UI mendaftar untuk pemberitahuan peristiwa tertentu dan dapat meminta agar properti Automation UI tertentu dan informasi pola kontrol diteruskan ke penanganan aktivitas mereka. Selain itu, peristiwa UI Otomasi berisi referensi ke elemen yang mengangkatnya. Penyedia dapat meningkatkan performa dengan meningkatkan peristiwa secara selektif, tergantung pada apakah ada klien yang mendengarkan.