Microsoft UI avtomatizatsiyasi - Microsoft UI Automation

Microsoft UI avtomatizatsiyasi (UIA) bu dastur dasturlash interfeysi Boshqa dasturning foydalanuvchi interfeysi (UI) elementlariga kirish, identifikatsiya qilish va boshqarish imkoniyatini beruvchi API (API).[1][2]

UIA ta'minlashga qaratilgan UI-ga kirish imkoniyati va u vorisdir Microsoft Active Accessibility. Bu shuningdek osonlashtiradi GUI sinovlarini avtomatlashtirish va bu ko'pchilikning dvigatelidir sinovlarni avtomatlashtirish vositalari asoslanadi. RPA vositalar, shuningdek, dasturlarni avtomatlashtirish uchun foydalanadi biznes jarayonlari.

UIA mulk provayderlari ikkalasini ham qo'llab-quvvatlaydi Win32 va .NET dasturlar.

UIA-ning so'nggi spetsifikatsiyasi Microsoft UI Automation-ning bir qismi sifatida topilgan Jamiyat va'dasining spetsifikatsiyasi. Microsoft, Microsoft Windows-dan tashqari platformalar uchun portativlikni uning dizayn maqsadlaridan biri deb ta'kidlamoqda. O'shandan beri u ko'chirildi Mono.[3]

Tarix

2005 yilda Microsoft UIA-ni merosxo'r sifatida chiqardi MSAA ramka.

Boshqariladi UI Automation API qismi sifatida chiqarildi .NET Framework 3.0.Matliy UI Automation API (provayder) ning bir qismi sifatida kiritilgan Windows Vista va Windows Server 2008 SDK va .NET Framework bilan tarqatiladi.

UIA Windows 7 da Windows Automation API 3.0 ning bir qismi sifatida va Windows XP, Windows Vista va Windows Server 2003 va 2008 uchun alohida yuklab olish sifatida mavjud.[4]

Motivatsiya va maqsadlar

MSAA ning vorisi sifatida UIA quyidagi maqsadlarni hal qilishga qaratilgan:

  • Mijozlarni maqsadli dastur jarayoniga qo'shilishga majbur qilmasdan mijozning samarali ishlashini yoqing.
  • UI haqida ko'proq ma'lumot bering.
  • MSAA bilan birgalikda mavjud bo'ling va foydalaning, lekin MSAA-da mavjud muammolarni meros qilib olmang.
  • Amalga oshirilishi oson bo'lgan MSAA alternativasini taqdim eting.

Texnik nuqtai

Kadr

Mijoz tomonidan UIA .NET interfeysini taqdim etadi UIAutomationClient.dll yig'ish va a MAQOMOTI to'g'ridan-to'g'ri amalga oshirilgan interfeys UIAutomationCore.dll.

Server tomonida, UIAutomationCore.dll bu AOK qilingan mijoz nomidan ma'lumotlarni olishni amalga oshirish uchun joriy ish stolidagi barcha yoki tanlangan jarayonlarga. DLL shuningdek, UIA plaginlarini yuklashi mumkin (chaqiriladi) provayderlar) turli xil usullardan foydalangan holda ma'lumotlarni chiqarib olish uchun uning xost jarayoniga.

UIA quyidagi jadvalda ko'rsatilgandek to'rtta asosiy provayder va mijoz komponentlariga ega.

KomponentTavsif
UIAutomationCore (UIAutomationCore.dll va qaramog'ida bo'lganlar)Provayderlar va mijozlar o'rtasidagi aloqani boshqaradigan asosiy kod (ba'zan UIA yadrosi deb ataladi). UI Automation Core shuningdek boshqarilmaydigan dasturlar va mijozlar uchun provayder va mijoz API interfeyslarini taklif qiladi; boshqarilmaydigan dasturlar (mijozlar yoki provayderlar) quyida keltirilgan boshqariladigan yig'ilishlarni talab qilmaydi.
Boshqariladigan Provayder API (UIAutomationProvider.dll va qaramog'ida bo'lganlar)

To'plam interfeys boshqariladigan UIA provayder dasturlari tomonidan amalga oshiriladigan ta'riflar va funktsiyalar. Provayderlar bu UI elementlari haqida ma'lumot beruvchi va dasturiy kiritishga javob beradigan ob'ektlardir.

Boshqariladigan mijoz API (UIAutomationClient.dll va qaramog'ida bo'lganlar)UIA mijoz dasturlari boshqariladigan interfeys ta'riflari va funktsiyalari to'plami.
UIAutomationClientsideProviders.dllEski Win32 boshqaruvlari va MSAA dasturlari uchun UIA provayder dasturlari to'plami. Ushbu mijoz tomoni provayder sukut bo'yicha boshqariladigan mijoz dasturlari uchun mavjud.

Elementlar

UIA foydalanuvchi interfeysining har bir qismini avtomatizatsiya elementi sifatida namoyish etadi. Elementlar daraxt tarkibida joylashgan bo'lib, ish stoli ildiz elementi hisoblanadi.

Automation Element ob'ektlari ular taqdim etgan foydalanuvchi interfeysi elementlarining umumiy xususiyatlarini ochib beradi. Ushbu xususiyatlardan biri bu asosiy ko'rinishini va funksionalligini bitta taniqli shaxs sifatida belgilaydigan boshqaruv turi (masalan, tugma yoki tasdiqlash qutisi).

Bundan tashqari, elementlar o'zlarining boshqaruv turlariga xos xususiyatlarni ta'minlaydigan boshqaruv naqshlarini ochib beradi. Boshqarish naqshlari, shuningdek, mijozlarga element haqida qo'shimcha ma'lumot olish va ma'lumotni taqdim etishga imkon beradigan usullarni ochib beradi.

Mijozlar daraxtning xom ko'rinishini boshqaruv ko'rinishi yoki kontent ko'rinishi sifatida filtrlashlari mumkin. Ilovalar maxsus ko'rinishni yaratishi mumkin.

Daraxt

UIA daraxti ichida joriy ish stolini ifodalovchi va elementlari dastur oynalarini aks ettiruvchi ildiz elementi mavjud. Ushbu asosiy elementlarning har biri menyu, tugma, asboblar paneli va ro'yxat qutilari kabi foydalanuvchi interfeysi qismlarini ifodalovchi elementlardan iborat bo'lishi mumkin. Ushbu elementlar o'z navbatida ro'yxat elementlari kabi boshqa elementlarni ham o'z ichiga olishi mumkin.

UIA daraxti qat'iy tuzilishga ega emas va uning tarkibida kamdan-kam ko'rinadi, chunki u minglab elementlardan iborat bo'lishi mumkin. Daraxtning qismlari kerak bo'lganda quriladi va elementlar qo'shilishi, ko'chirilishi yoki olib tashlanishi bilan daraxt o'zgarishlarga duch kelishi mumkin.

Boshqarish turlari

UIA boshqaruv turlari - bu ma'lum bir element, masalan, kombinatsiyalangan quti yoki tugma qanday boshqaruvni anglatishini ko'rsatish uchun ishlatilishi mumkin bo'lgan taniqli identifikatorlar.

Taniqli identifikatorga ega bo'lish yordamchi texnologiya (AT) qurilmalariga foydalanuvchi interfeysida (UI) qanday boshqaruv turlarini mavjudligini va boshqaruv elementlari bilan qanday ishlashini osonroq aniqlashga imkon beradi. UIA boshqaruv turi ma'lumotlarini inson tomonidan o'qilishi mumkin bo'lgan ma'lumot mavjud LocalizedControlType boshqaruv yoki dastur ishlab chiquvchilari tomonidan sozlanishi mumkin bo'lgan xususiyat.

Boshqarish naqshlari

Boshqarish naqshlari boshqaruv turiga yoki boshqaruv ko'rinishiga bog'liq bo'lmagan holda boshqaruv funktsiyalarini toifalarga ajratish va oshkor qilish usulini beradi.

UIA umumiy boshqaruv xatti-harakatlarini ifodalash uchun boshqaruv namunalaridan foydalanadi. Masalan, Qo'ng'iroq qiling boshqaruv sxemasi chaqirilishi mumkin bo'lgan boshqaruv elementlari uchun ishlatiladi (masalan, tugmalar) va O'tkazish boshqaruv sxemasi aylantiriladigan ko'rinish oynalari bo'lgan boshqaruv elementlari uchun ishlatiladi (ro'yxat qutilari, ro'yxat ko'rinishlari yoki kombinatsiyalangan qutilar kabi). Har bir boshqaruv sxemasi alohida funktsiyani ifodalaganligi sababli, ular ma'lum bir boshqaruv tomonidan qo'llab-quvvatlanadigan barcha funktsiyalar to'plamini tavsiflash uchun birlashtirilishi mumkin.

Xususiyatlari

UIA provayderlari UIA elementlari va boshqaruv naqshlarining xususiyatlarini ochib berishadi. Ushbu xususiyatlar UIA mijoz dasturlariga foydalanuvchi interfeysi (UI) qismlari, xususan boshqaruv elementlari, shu jumladan statik va dinamik ma'lumotlar haqida ma'lumot topishga imkon beradi.

Tadbirlar

UIA voqealari to'g'risida xabar berish ekran o'quvchilari va ekran kattalashtirgichlari kabi yordamchi texnologiyalar (AT) uchun asosiy xususiyatdir. Ushbu UIA mijozlari UIA provayderlari tomonidan yuzaga keladigan voqealarni kuzatib boradilar va UIA-da sodir bo'ladigan ma'lumotlarni xabardor qilish uchun foydalanadilar.

Ta'sirchanlik har qanday mijozlar ushbu tadbirlarga obuna bo'lishiga yoki umuman yo'qligiga qarab, provayder dasturlariga voqealarni tanlab ko'tarish imkoniyatini berish orqali yaxshilanadi, agar biron bir mushtariy biron bir voqeani tinglamasa.

TextPattern

UIA matnli tarkibni, shu jumladan UIA tomonidan qo'llab-quvvatlanadigan platformalardagi matnni boshqarish elementlarining format va uslub atributlarini ochib beradi. Ushbu boshqaruv elementlariga Microsoft .NET Framework kiradi, lekin ular bilan chegaralanmaydi TextBox va RichTextBox shuningdek, ularning Win32 ekvivalentlari.

Boshqaruvning matnli mazmunini ochish TextPattern matnli konteyner tarkibini matnli oqim sifatida ifodalovchi boshqaruv sxemasi. Navbat bilan, TextPattern ning qo'llab-quvvatlashini talab qiladi TextPatternRange format va uslub atributlarini ochish uchun sinf. TextPatternRange qo'llab-quvvatlaydi TextPattern bilan matn konteyneridagi tutashgan matn oralig'ini ifodalash orqali Boshlang va Oxiri so'nggi nuqtalar. Bir nechta yoki ajratilgan matn oralig'i bir nechta bilan ifodalanishi mumkin TextPatternRange ob'ektlar. TextPatternRange klonlash, tanlash, taqqoslash, qidirish va o'tish kabi funktsiyalarni qo'llab-quvvatlaydi.

Avtomatlashtirilgan sinov uchun UI Automation

UIA shuningdek, avtomatlashtirilgan sinov stsenariylarida dasturiy kirish uchun asos sifatida foydali bo'lishi mumkin. Erişilebilirlik uchun yanada aniq echimlarni taqdim etish bilan bir qatorda, u avtomatlashtirilgan sinov uchun mustahkam funksiyalarni ta'minlash uchun maxsus ishlab chiqilgan.

Dasturiy kirish kod orqali har qanday o'zaro ta'sirga va foydalanuvchilarning an'anaviy o'zaro ta'siriga duch keladigan tajribaga taqlid qilish imkoniyatini beradi. UIA dasturiy ta'minotni beshta komponent orqali ta'minlaydi:

  • UIA daraxti kirish va avtomatlashtirish uchun UI mantiqiy tuzilishi orqali harakatlanishni osonlashtiradi.
  • UI avtomatlashtirish elementlari - bu interfeysning individual komponentlari.
  • UI Automation Properties foydalanuvchi interfeysi elementlari yoki Boshqarish namunasi haqida aniq ma'lumot beradi.
  • UI Automation Control Patterns boshqaruv funksiyasi yoki xususiyatining ma'lum bir tomonini belgilaydi; ular mulk, usul, hodisa va tuzilish haqidagi ma'lumotlardan iborat bo'lishi mumkin.
  • UI avtomatlashtirish tadbirlari UIA ma'lumotidagi o'zgarishlar va bildirishnomalarga javob berishga yordam beradi.

Mavjudligi

Dastlab UIA Windows Vista va Windows Server 2008-da mavjud edi, shuningdek Windows XP va Windows Server 2003-ga .NET Framework 3.0-ning bir qismi sifatida taqdim etildi. U Windows-ning keyingi barcha versiyalari bilan birlashtirilgan Windows 7.[5]

Windows platformalaridan tashqari Zaytun loyihasi (.NET Framework-ni qo'llab-quvvatlashga qaratilgan Mono yadrosi uchun qo'shimcha kutubxonalar to'plami) WPF-ning bir qismini o'z ichiga oladi (TaqdimotFramework va WindowsBase) va interfeyslarni avtomatlashtirish.[6]

Novell-ning Mono Accessible loyihasi - bu Mono ramkasiga mo'ljallangan UIA Provayderi va Mijoz spetsifikatsiyalarini amalga oshirish. Bundan tashqari, loyiha Linux yordamchi texnologiyalari (AT) uchun Accessibility Toolkit (ATK) ga ko'prik beradi. Novell shuningdek, UIA-ga asoslangan AT-lar uchun ATK-ni amalga oshiradigan dasturlar bilan o'zaro aloqada bo'lish uchun ko'prik ustida ishlamoqda.[7]

Tegishli texnologiya va birgalikda ishlash

  • Microsoft Active Accessibility (MSAA): UIA MSAA ning vorisidir. Biroq, hali ham MSAA asosidagi dasturlar mavjud bo'lganligi sababli, ko'priklar UIA va MSAA dasturlari o'rtasida aloqa o'rnatish uchun ishlatiladi. Shunday qilib, ma'lumotlarni ikkita API o'rtasida bo'lishish mumkin, MSAA-UIA proksi-server va UIA-MSAA ko'prigi ishlab chiqilgan. Birinchisi, MSAA ma'lumotlarini iste'mol qiladigan va UIA mijoz APIsi orqali taqdim etadigan komponent. Ikkinchisi UIA dasturini amalga oshiradigan MSAA kirish dasturlari yordamida mijoz dasturlariga imkon beradi.[8]
  • Internetga boy Internet-ilovalar (ARIA): UIA AriaRole va Aria xususiyatlari xususiyatlar HTML elementiga mos keladigan ARIA atributlari qiymatlariga kirishni ta'minlashi mumkin (veb-brauzerlar tomonidan avtomatizatsiya elementi bo'lishi mumkin). ARIA atributlaridan UIA-ga umumiy xaritalash ham mavjud.[3]
  • Windows Automation API: Windows 7 dan boshlab, Microsoft o'zining kirish texnologiyasini Windows Automation API deb nomlangan tizim asosida qadoqlamoqda. Ham MSAA, ham UIA ushbu ramkaning bir qismi bo'ladi. Windows-ning eski versiyalari uchun KB971513-ga qarang.[9]
  • Mono Accessibility Project: 2007 yil 7-noyabrda Microsoft va Novell Inc., o'zaro moslashuvchanlik to'g'risidagi bitimning bir yilligi tugagandan so'ng, ular o'zlarining kelishuvlarini kirish imkoniyatini o'z ichiga olgan holda kengaytirilishini e'lon qilishdi.[10][11] Xususan, Novell kompaniyasi UIA ramkasini mavjud bilan ishlashga imkon beradigan ochiq manbali adapterni ishlab chiqishi haqida e'lon qilindi Linux kabi mavjudlik loyihalari Linux uchun maxsus vositalar to'plami (ATK) bilan etkazib beradi SUSE Linux Enterprise Desktop, Qizil shapka Korxona Linux va Ubuntu Linux. Bu oxir-oqibat UIA o'zaro platformasini yaratadi.

Izohlar

Adabiyotlar

Tashqi havolalar