Gambaran Umum Pohon 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.
Produk teknologi bantuan dan skrip pengujian menavigasi pohon UI Automation untuk mengumpulkan informasi tentang antarmuka pengguna (UI) dan elemennya.
Di dalam pohon UI Automation ada elemen akar (RootElement) yang mewakili desktop saat ini dan elemen turunannya mewakili jendela aplikasi. Masing-masing elemen turunan ini dapat berisi elemen yang mewakili bagian UI seperti menu, tombol, toolbar, dan kotak daftar. Elemen-elemen ini pada gilirannya dapat berisi elemen-elemen seperti item daftar.
Pohon UI Automation bukanlah struktur tetap dan jarang terlihat secara keseluruhan karena mungkin berisi ribuan elemen. Bagian-bagiannya dibangun sesuai kebutuhan, dan dapat mengalami perubahan saat elemen ditambahkan, dipindahkan, atau dihapus.
Penyedia UI Automation mendukung pohon UI Automation dengan menerapkan navigasi di antara item dalam fragmen, yang terdiri dari akar (biasanya di-host di jendela) dan subpohon. Namun, penyedia tidak peduli dengan navigasi dari satu kontrol ke kontrol lainnya. Ini dikelola oleh inti UI Automation, menggunakan informasi dari penyedia jendela default.
Tampilan Pohon Automation
Pohon UI Automation dapat difilter untuk membuat tampilan yang hanya berisi AutomationElement objek yang relevan untuk klien tertentu. Pendekatan ini memungkinkan klien untuk menyesuaikan struktur yang disajikan melalui UI Automation dengan kebutuhan khusus mereka.
Klien memiliki dua cara untuk menyesuaikan tampilan: dengan cakupan dan dengan memfilter. Cakupan menentukan luas tampilan, mulai dari elemen dasar: misalnya, aplikasi mungkin hanya ingin menemukan turunan langsung dari desktop, atau semua turunan dari jendela aplikasi. Pemfilteran menentukan jenis elemen yang akan disertakan dalam tampilan.
Penyedia UI Automation mendukung pemfilteran dengan mendefinisikan properti pada elemen, termasuk properti IsControlElementProperty dan IsContentElementProperty.
UI Automation menyediakan tiga tampilan default. Tampilan ini ditentukan oleh jenis pemfilteran yang dilakukan; cakupan tampilan apa pun ditentukan oleh aplikasi. Selain itu, aplikasi dapat menerapkan filter lain pada properti; misalnya, untuk hanya menyertakan kontrol yang diaktifkan dalam tampilan kontrol.
Tampilan mentah
Tampilan mentah dari pohon UI Automation adalah pohon lengkap dari objek AutomationElement yang desktopnya adalah akarnya. Tampilan mentah dengan cermat mengikuti struktur program asli aplikasi dan oleh karena itu merupakan tampilan paling detail yang tersedia. Ini juga merupakan dasar di mana tampilan lain dari pohon dibangun. Karena tampilan ini bergantung pada kerangka UI yang mendasarinya, tampilan mentah tombol WPF akan memiliki tampilan mentah yang berbeda dari tombol Win32.
Tampilan mentah diperoleh dengan mencari elemen tanpa menentukan properti atau dengan menggunakan RawViewWalker untuk menavigasi pohon.
Tampilan Kontrol
Tampilan kontrol dari pohon UI Automation menyederhanakan tugas produk teknologi bantuan untuk menjelaskan UI kepada pengguna akhir dan membantu pengguna akhir tersebut berinteraksi dengan aplikasi karena memetakan secara dekat ke struktur UI yang dirasakan oleh pengguna akhir.
Tampilan kontrol adalah bagian dari tampilan mentah. Ini mencakup semua item UI dari tampilan mentah yang akan dipahami pengguna akhir sebagai interaktif atau berkontribusi pada struktur logis dari kontrol di UI. Contoh item UI yang berkontribusi pada struktur logis UI, tetapi tidak interaktif itu sendiri, adalah kontainer item seperti header tampilan daftar, toolbar, menu, dan status bar. Item non-interaktif yang digunakan hanya untuk tata letak atau tujuan dekoratif tidak akan terlihat dalam tampilan kontrol. Contohnya adalah panel yang hanya digunakan untuk meletakkan kontrol dalam dialog tetapi tidak berisi informasi apa pun. Item non-interaktif yang akan terlihat pada tampilan kontrol adalah grafik dengan informasi dan teks statik dalam dialog. Item non-interaktif yang disertakan dalam tampilan kontrol tidak dapat menerima fokus keyboard.
Tampilan kontrol diperoleh dengan mencari elemen yang propertinyaIsControlElement diatur ke true
, atau dengan menggunakan ControlViewWalker untuk menavigasi pohon.
Tampilan Konten
Tampilan konten pohon UI Automation adalah subset dari tampilan kontrol. Ini berisi item UI yang menyampaikan informasi sebenarnya dalam antarmuka pengguna, termasuk item UI yang dapat menerima fokus keyboard dan beberapa teks yang bukan label pada item UI. Misalnya, nilai dalam kotak kombo drop-down akan muncul di tampilan konten karena nilai tersebut mewakili informasi yang digunakan oleh pengguna akhir. Dalam tampilan konten, kotak kombo dan kotak daftar keduanya direpresentasikan sebagai kumpulan item UI di mana satu, atau mungkin lebih dari satu, item dapat dipilih. Fakta bahwa seseorang selalu terbuka dan seseorang dapat memperluas dan menciutkan tidak relevan dalam tampilan konten karena dirancang untuk menampilkan data, atau konten, yang disajikan kepada pengguna.
Tampilan konten diperoleh dengan menelusuri elemen yang propertinya IsContentElement diatur ke true
, atau dengan menggunakan ContentViewWalker untuk menavigasi hierarki.