Gambaran Umum Penyedia UI Automation
Catatan
Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas UI Automation terkelola yang ditentukan pada namespace System.Windows.Automation. Untuk informasi terbaru tentang UI Automation, lihat API Automasi Windows: Automasi Antarmuka Pengguna.
Penyedia UI Automation memungkinkan kontrol berkomunikasi dengan aplikasi klien UI Automation. Secara umum, setiap kontrol atau elemen berbeda lainnya dalam antarmuka pengguna (UI) diwakili oleh penyedia. Penyedia memaparkan informasi tentang elemen dan secara opsional menerapkan pola kontrol yang memungkinkan aplikasi klien berinteraksi dengan kontrol.
Aplikasi klien biasanya tidak harus bekerja secara langsung dengan penyedia. Sebagian besar kontrol standar dalam aplikasi yang menggunakan kerangka kerja Win32, Formulir Windows, atau Windows Presentation Foundation (WPF) secara otomatis diekspos ke sistem UI Automation. Aplikasi yang menerapkan kontrol kustom juga dapat menerapkan penyedia UI Automation untuk kontrol tersebut, dan aplikasi klien tidak perlu mengambil langkah khusus apa pun untuk mendapatkan akses ke kontrol tersebut.
Topik ini memberikan gambaran umum tentang bagaimana pengembang kontrol menerapkan penyedia UI Automation, terutama untuk kontrol di Formulir Windows dan Win32 Windows.
Jenis Penyedia
Penyedia UI Automation terbagi dalam dua kategori: penyedia sisi klien dan penyedia sisi server.
Penyedia sisi klien
Penyedia sisi klien diterapkan oleh klien UI Automation untuk berkomunikasi dengan aplikasi yang tidak mendukung, atau tidak sepenuhnya mendukung, UI Automation. Penyedia sisi klien biasanya berkomunikasi dengan server melintasi batas proses dengan mengirim dan menerima pesan Windows.
Karena penyedia UI Automation untuk kontrol di aplikasi Win32, Formulir Windows, atau WPF disediakan sebagai bagian dari sistem operasi, aplikasi klien jarang harus menerapkan penyedia mereka sendiri, dan gambaran umum ini tidak mencakup hal tersebut lebih lanjut.
Penyedia sisi server
Penyedia sisi server diterapkan oleh kontrol kustom atau oleh aplikasi yang didasarkan pada kerangka kerja UI selain Win32, Formulir Windows, atau WPF.
Penyedia sisi server berkomunikasi dengan aplikasi klien melintasi batas proses dengan mengekspos antarmuka ke sistem core UI Automation, yang pada gilirannya melayani permintaan dari klien.
Konsep Penyedia UI Automation
Bagian ini memberikan penjelasan singkat tentang beberapa konsep utama yang perlu Anda pahami untuk menerapkan penyedia UI Automation.
Elemen
Elemen UI Automation adalah bagian dari antarmuka pengguna (UI) yang terlihat oleh klien UI Automation. Contohnya termasuk jendela aplikasi, panel, tombol, tips alat, kotak daftar, dan item daftar.
Navigasi
Elemen UI Automation diekspos ke klien sebagai pohon UI Automation. UI Automation membuat pohon dengan menavigasi dari satu elemen ke elemen lainnya. Navigasi diaktifkan oleh penyedia untuk setiap elemen, yang masing-masing dapat menunjuk ke orang tua, saudara kandung, dan anak-anak.
Untuk informasi selengkapnya tentang tampilan klien dari pohon UI Automation, lihat Gambaran Umum Pohon UI Automation.
Tampilan
Klien dapat melihat pohon UI Automation dalam tiga tampilan utama, seperti yang ditunjukkan pada tabel berikut.
Tampilan | Deskripsi |
---|---|
Tampilan mentah | Berisi semua elemen. |
Tampilan kontrol | Berisi elemen yang merupakan kontrol. |
Tampilan konten | Berisi elemen yang memiliki konten. |
Untuk informasi selengkapnya tentang tampilan klien dari pohon UI Automation, lihat Gambaran Umum Pohon UI Automation.
Ini adalah tanggung jawab penerapan penyedia untuk mendefinisikan elemen sebagai elemen konten atau elemen kontrol. Elemen kontrol mungkin atau mungkin juga bukan elemen konten, tetapi semua elemen konten adalah elemen kontrol.
Kerangka kerja
Kerangka kerja adalah komponen yang mengelola kontrol turunan, pengujian klik, dan rendering di area layar. Misalnya, jendela Win32, sering disebut sebagai HWND, dapat berfungsi sebagai kerangka kerja yang berisi beberapa elemen UI Automation seperti bilah menu, bilah status, dan tombol.
Kontrol kontainer Win32 seperti kotak daftar dan tampilan hierarki dianggap sebagai kerangka kerja, karena berisi kode mereka sendiri untuk merender item turunan dan melakukan pengujian klik pada kerangka kerja. Sebaliknya, kotak daftar WPF bukanlah kerangka kerja, karena perenderan dan pengujian klik ditangani oleh jendela WPF yang berisi.
UI dalam aplikasi dapat terdiri dari kerangka kerja yang berbeda. Misalnya, jendela aplikasi HWND mungkin berisi Dynamic HTML (DHTML) yang pada gilirannya berisi komponen seperti kotak kombo di HWND.
Fragmen
Fragmen adalah subpohon lengkap elemen dari kerangka kerja tertentu. Elemen pada node root dari subpohon disebut root fragmen. Root fragmen tidak memiliki induk, tetapi dihosting dalam beberapa kerangka kerja lain, biasanya jendela Win32 (HWND).
Host
Node root dari setiap fragmen harus dihosting di sebuah elemen, biasanya jendela Win32 (HWND). Pengecualiannya adalah desktop, yang tidak dihosting di elemen lain mana pun. Host kontrol kustom adalah HWND dari kontrol itu sendiri, bukan jendela aplikasi atau jendela lain yang mungkin berisi grup kontrol tingkat atas.
Host fragmen memainkan peran penting dalam menyediakan layanan UI Automation. Hal ini memungkinkan navigasi ke root fragmen, dan menyediakan beberapa properti default sehingga penyedia kustom tidak harus menerapkannya.