Bagikan melalui


Ringkasan UI Automation

Microsoft UI Automation adalah kerangka kerja aksesibilitas untuk Windows. Ini menyediakan akses terprogram ke sebagian besar elemen UI di desktop. Ini memungkinkan produk teknologi bantuan, seperti pembaca layar, untuk memberikan informasi tentang UI kepada pengguna akhir dan memanipulasi UI dengan cara selain input standar. UI Automation juga memungkinkan skrip uji otomatis berinteraksi dengan UI.

Automasi UI pertama kali tersedia di Windows XP sebagai bagian dari .NET Framework Microsoft. Meskipun API C++ yang tidak dikelola juga diterbitkan pada saat itu, kegunaan fungsi klien terbatas karena masalah interoperabilitas. Untuk Windows 7, API telah ditulis ulang dalam Model Objek Komponen (COM).

Catatan

Meskipun fungsi pustaka yang diperkenalkan dalam versi UI Automation sebelumnya masih didokumentasikan, fungsi tersebut tidak boleh digunakan dalam aplikasi baru.

Aplikasi klien Automation UI dapat ditulis dengan jaminan bahwa aplikasi tersebut akan bekerja pada beberapa kerangka kerja kontrol Microsoft Windows. Inti Automation UI menutupi perbedaan apa pun dalam kerangka kerja yang mendasar berbagai bagian UI. Misalnya, properti Konten dari tombol Windows Presentation Foundation (WPF), properti Keterangan tombol Microsoft Win32, dan properti ALT dari gambar HTML semuanya dipetakan ke satu properti, Nama, dalam tampilan Otomatisasi UI.

Automasi UI menyediakan fungsionalitas penuh di Windows XP, Windows Server 2003, dan sistem operasi yang lebih baru.

Penyedia UI Automation adalah komponen yang menerapkan dukungan Automation UI pada kontrol dan menawarkan beberapa dukungan untuk aplikasi klien Aksesibilitas Aktif Microsoft, melalui layanan bridging bawaan.

Catatan

Automasi UI tidak mengaktifkan komunikasi antara proses yang dimulai oleh pengguna yang berbeda melalui perintah Jalankan sebagai .

Topik ini berisi bagian berikut.

Komponen Automasi UI

UI Automation memiliki empat komponen utama, seperti yang ditunjukkan dalam tabel berikut.

Komponen Deskripsi
API Penyedia Sekumpulan antarmuka COM yang diimplementasikan oleh penyedia Automation UI. Penyedia Otomatisasi UI adalah objek yang menyediakan informasi tentang elemen UI dan menanggapi input terprogram.
API Klien Sekumpulan antarmuka COM yang memungkinkan aplikasi klien untuk mendapatkan informasi tentang UI dan mengirim input ke kontrol. Catatan: Fungsi yang dijelaskan dalam Fungsi Pola Kontrol yang Tidak Digunakan Lagi dan Fungsi Simpul yang Tidak Digunakan Lagi tidak digunakan lagi. Sebagai gantinya, aplikasi klien harus menggunakan antarmuka UI Automation COM yang dijelaskan dalam Antarmuka Elemen Automation UI untuk Klien.
UIAutomationCore.dll Pustaka run-time, terkadang disebut inti Automation UI, yang menangani komunikasi antara penyedia dan klien.
Oleacc.dll Pustaka run-time untuk Aksesibilitas Aktif Microsoft dan objek proksi. Pustaka ini juga menyediakan objek proksi yang digunakan oleh Microsoft Active Accessibility to UI Automation Proxy untuk mendukung kontrol Win32.

Ada dua cara menggunakan Automasi UI: untuk membuat dukungan untuk kontrol kustom dengan menggunakan API penyedia, dan untuk membuat aplikasi klien yang menggunakan inti Automasi UI untuk berkomunikasi dengan, dan mengambil informasi tentang, elemen UI. Bergantung pada fokus Anda, Anda harus melihat bagian yang berbeda dari dokumentasi. Jika Anda perlu membuat dukungan untuk kontrol kustom, lihat Panduan Pemrogram Penyedia Automasi UI. Jika Anda perlu berkomunikasi dengan atau mengambil informasi tentang elemen UI, lihat Panduan Pemrogram Klien Automation UI.

File Header Automation UI

UI Automation API didefinisikan dalam beberapa file header C/C++ berbeda yang disertakan dengan Windows Software Development Kit (SDK). File header Automation UI dijelaskan dalam tabel berikut:

File header Deskripsi
UIAutomationClient.h Menentukan antarmuka dan elemen pemrograman terkait yang digunakan oleh klien Automation UI.
UIAutomationCore.h Menentukan antarmuka dan elemen pemrograman terkait yang digunakan oleh penyedia Automation UI.
UIAutomationCoreApi.h Mendefinisikan konstanta umum, GUID, jenis data, dan struktur yang digunakan oleh klien dan penyedia Automation UI. Ini juga berisi definisi untuk simpul yang tidak digunakan lagi dan fungsi pola kontrol.
UIAutomation.h Menyertakan semua file header Automation UI lainnya. Karena sebagian besar aplikasi Automation UI memerlukan elemen dari semua file header Automation UI, yang terbaik adalah menyertakan UIAutomation.h dalam proyek aplikasi Automation UI Anda alih-alih menyertakan setiap file satu per satu.

Jika Anda mengembangkan aplikasi yang menggunakan UI Automation API, Anda harus menyertakan UIAutomation.h dalam proyek Anda. Jika aplikasi Anda mendukung Aksesibilitas Aktif Microsoft, sertakan file header Oleacc.h. Aplikasi Automasi UI yang menggunakan GUID juga memerlukan file header Initguid.h. Jika diperlukan, Initguid.h harus disertakan sebelum UIAutomation.h.

Model UI Automation

Automasi UI mengekspos setiap elemen UI ke aplikasi klien sebagai objek yang diwakili oleh antarmuka IUIAutomationElement . Elemen terkandung dalam struktur pohon, dengan desktop sebagai elemen akar. Klien dapat memfilter tampilan mentah pohon sebagai tampilan kontrol atau tampilan konten. Tampilan standar struktur ini dapat dengan mudah dilihat dengan menggunakan aplikasi Inspect yang disertakan dengan Windows SDK. Aplikasi juga dapat membuat tampilan kustom.

Elemen Automation UI memaparkan properti elemen kontrol atau UI yang diwakilinya. Salah satu properti ini adalah jenis kontrol, yang menentukan tampilan dasar dan fungsionalitas kontrol atau elemen UI sebagai entitas tunggal yang dapat dikenali, misalnya, tombol atau kotak centang. Untuk informasi selengkapnya tentang jenis kontrol, lihat Gambaran Umum Jenis Kontrol Automasi UI.

Selain itu, elemen Automation UI mengekspos satu atau beberapa pola kontrol. Pola kontrol menyediakan sekumpulan properti yang khusus untuk jenis kontrol tertentu. Pola kontrol juga mengekspos metode yang memungkinkan aplikasi klien untuk mendapatkan informasi lebih lanjut tentang elemen dan untuk memberikan input ke elemen . Untuk informasi selengkapnya tentang pola kontrol, lihat Ringkasan Pola Kontrol Azure Automation Antarmuka Pengguna.

Catatan

Tidak ada korespondensi satu-ke-satu antara jenis kontrol dan pola kontrol. Pola kontrol dapat didukung oleh beberapa jenis kontrol, dan satu kontrol dapat mendukung beberapa pola kontrol, yang masing-masing mengekspos berbagai aspek perilakunya. Misalnya, kotak kombo memiliki setidaknya dua pola kontrol: satu yang mewakili kemampuannya untuk meluas dan menciut, dan lainnya mewakili mekanisme pemilihan. Namun, kontrol hanya dapat menunjukkan satu jenis kontrol.

Automasi UI memberikan informasi kepada aplikasi klien melalui peristiwa. Tidak seperti WinEvents, peristiwa UI Automation tidak didasarkan pada mekanisme siaran. Klien Automation UI mendaftar untuk pemberitahuan peristiwa tertentu dan dapat meminta agar properti tertentu dan informasi pola kontrol diteruskan ke penanganan aktivitas mereka. Selain itu, peristiwa UI Automation berisi referensi ke elemen yang mengeluarkannya. Penyedia dapat meningkatkan performa dengan memunculkan peristiwa secara selektif, bergantung pada apakah ada klien yang mendengarkan. Untuk informasi selengkapnya tentang peristiwa, lihat Ringkasan Peristiwa Automasi Antarmuka Pengguna.

Konseptual

Gambaran Umum Jenis Kontrol UI Automation

Gambaran Umum Pola Kontrol Automasi UI

Ringkasan Aktivitas UI Automation