Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Jegyzet
Ez a dokumentáció azoknak a .NET-keretrendszer-fejlesztőknek készült, akik a System.Windows.Automation névtérben definiált felügyelt felhasználói felületi Automation-osztályokat szeretnék használni. A felhasználói felület automatizálásával kapcsolatos legfrissebb információkért lásd Windows Automation API: UI Automation.
Ez az áttekintés azt ismerteti, hogy a Microsoft UI Automation hogyan lehet hasznos az automatizált tesztelési forgatókönyvek programozott hozzáférésének keretrendszereként.
A felhasználói felület automatizálása egységes objektummodellt biztosít, amely lehetővé teszi, hogy minden felhasználói felületi keretrendszer akadálymentes és könnyen automatizált módon tegye elérhetővé az összetett és sokoldalú funkciókat.
A UI Automation a Microsoft Active Accessibility utódjaként lett kifejlesztve. Az Aktív akadálymentesség egy meglévő keretrendszer, amely megoldást kínál a vezérlők és alkalmazások akadálymentesítésére. Az aktív akadálymentességet nem a tesztautomatizálás szem előtt tartásával tervezték, annak ellenére, hogy az akadálymentesség és az automatizálás nagyon hasonló követelményei miatt ebbe a szerepkörbe fejlődött. A felhasználói felület automatizálása amellett, hogy kifinomultabb megoldásokat biztosít az akadálymentességhez, kifejezetten úgy lett kialakítva, hogy robusztus funkciókat biztosítson az automatizált teszteléshez. Az Aktív akadálymentesség például egyetlen felületen teszi elérhetővé a felhasználói felületre vonatkozó információkat, és összegyűjti az AT-termékek által igényelt információkat; A felhasználói felület automatizálása elválasztja a két modellt.
A felhasználói felület automatizálásának implementálásához a szolgáltatónak és az ügyfélnek is szüksége van arra, hogy automatizált teszteszközként hasznos legyen. A felhasználói felületi automatizálási szolgáltatók olyan alkalmazások, mint a Microsoft Word, az Excel és más külső alkalmazások vagy vezérlők, amelyek a Microsoft Windows operációs rendszerén alapulnak. A UI Automation-ügyfelek automatizált tesztszkripteket és kisegítő technológiai alkalmazásokat tartalmaznak.
Jegyzet
Az áttekintés célja a felhasználói felület automatizálásának új és továbbfejlesztett automatizált tesztelési képességeinek bemutatása. Ez az áttekintés nem szolgál az akadálymentességi funkciókkal kapcsolatos információk megadására, és nem foglalkozik az akadálymentességgel, kivéve, ha szükséges.
Felhasználói felület automatizálása egy szolgáltatóban
A felhasználói felület automatizálásához egy alkalmazás vagy vezérlő fejlesztőjének meg kell vizsgálnia, hogy a végfelhasználó milyen műveleteket hajthat végre a felhasználói felületen szabványos billentyűzet- és egérműveletekkel.
A kulcsműveletek azonosítása után a megfelelő felhasználói felületi automatizálási vezérlőmintákat (azaz a felhasználói felületi elem működését és viselkedését tükröző vezérlőmintákat) kell implementálnunk a vezérlőn. A kombinált lista vezérlőelemekkel (például a futtatási párbeszédpanellel) folytatott felhasználói interakciók általában a kombinált lista kibontásával és összecsukásával elrejtik vagy megjelenítik az elemek listáját, kiválasztanak egy elemet a listából, vagy új értéket adnak hozzá a billentyűzet bemenetén keresztül.
Jegyzet
Más akadálymentességi modellek esetében a fejlesztőknek közvetlenül az egyes gombokból, menükből vagy egyéb vezérlőkből kell információkat gyűjteniük. Sajnos minden vezérlőtípus több tucat kisebb változatban jelenik meg. Más szóval, annak ellenére, hogy a nyomógombok tíz változata ugyanúgy működik és ugyanazt a funkciót hajtja végre, mindegyiknek egyedi vezérlőként kell kezelnie őket. Nem lehet tudni, hogy ezek a vezérlők funkcionálisan egyenértékűek-e. A vezérlőmintákat úgy fejlesztettük ki, hogy ezek a gyakori vezérlési viselkedéseket képviseljék. További információ: felhasználói felület automatizálási vezérlőmintáinak áttekintése.
Felhasználói felület automatizálásának megvalósítása
Ahogy korábban említettük, a felhasználói felület automatizálása által biztosított egységes modell nélkül a teszteszközöknek és a fejlesztőknek ismerniük kell a keretrendszerre vonatkozó információkat annak érdekében, hogy elérhetővé tegyék az adott keretrendszer vezérlőinek tulajdonságait és viselkedését. Mivel a Windows operációs rendszereken belül egyszerre több különböző felhasználói felületi keretrendszer is létezik, például a Win32, a Windows Forms és a Windows Presentation Foundation (WPF), ijesztő feladat lehet több, hasonlónak tűnő vezérlővel rendelkező alkalmazás tesztelése. Az alábbi táblázat például a gombvezérlőhöz társított név (vagy szöveg) lekéréséhez szükséges keretrendszerspecifikus tulajdonságneveket ismerteti, és megjeleníti az egyetlen egyenértékű UI Automation tulajdonságot.
Felhasználói felület automatizálásának vezérlőtípusa | Felhasználói felületi keretrendszer | Keretrendszerspecifikus tulajdonság | Felhasználói felület automatizálási tulajdonsága |
---|---|---|---|
Gomb | Windows Presentation Foundation | Tartalom | NévTulajdonság |
Gomb | Win32 | Felirat | NévTulajdonság |
Kép | HTML | Alt | NévTulajdonság |
Az UI automatizálási szolgáltatók feladata, hogy a vezérlőik keretrendszer-specifikus tulajdonságait az egyenértékű UI automatizálási tulajdonságokhoz megfeleltessék.
A szolgáltatóban való UI automatizálás implementálásáról szóló információk a Felügyelt kód UI automatizálási szolgáltatóihelyen találhatók. A vezérlőminták implementálásával kapcsolatos információk a felhasználói felület automatizálási vezérlőminták és a felhasználói felület automatizálási szövegmintaalatt találhatók.
Felhasználói felület automatizálása egy ügyfélben
Számos automatizált teszteszköz és forgatókönyv célja a felhasználói felület konzisztens és megismételhető kezelése. Ez magában foglalhatja az egyes vezérlők egységbeli tesztelését a tesztszkriptek rögzítésén és lejátszásán keresztül, amelyek a vezérlők egy csoportján végzett általános műveletek sorozatán keresztül iterálnak.
Az automatizált alkalmazásokból eredő bonyodalom a teszt dinamikus célokkal való szinkronizálásának nehézsége. Például egy listamező vezérlőelem, például a Windows Feladatkezelő egyik vezérlője, amely megjeleníti a jelenleg futó alkalmazások listáját. Mivel a lista elemei dinamikusan frissülnek a tesztalkalmazáson kívül, lehetetlen megismételni a listamező egy adott elemének kijelölését bármilyen konzisztenciával. Hasonló problémák akkor is felmerülhetnek, ha egyszerű fókuszmódosításokat kísérel meg megismételni a tesztalkalmazáson kívüli felhasználói felületen.
Programozott hozzáférés
A programozott hozzáférés lehetővé teszi, hogy kódon keresztül utánozza a hagyományos egér- és billentyűzetbemenet által feltárt interakciókat és tapasztalatokat. A felhasználói felület automatizálása öt összetevőn keresztül teszi lehetővé a programozott hozzáférést:
A felhasználói felület automatizálási fa megkönnyíti a felhasználói felület szerkezetének navigálását. A fa a hWnd gyűjteményéből készült. További információ: felhasználói felület automatizálási fa áttekintése.
Az automatizálási elemek a felhasználói felület egyes összetevői. Ezek gyakran részletesebbek lehetnek, mint egy hWnd. További információ: felhasználói felület automatizálási vezérlőtípusainak áttekintése.
Az automatizálási tulajdonságok konkrét információkat nyújtanak a felhasználói felület elemeiről. További információ: felhasználói felület automatizálási tulajdonságainak áttekintése.
A vezérlők funkcióinak egy adott aspektusát vezérlőminták határozzák meg; tulajdonság-, metódus-, esemény- és struktúrainformációkból állhatnak. További információ: felhasználói felület automatizálási vezérlőmintáinak áttekintése.
Az automatizálási események eseményértesítéseket és információkat biztosítanak. További információ: felhasználói felület automatizálási eseményeinek áttekintése.
A Test Automation kulcstulajdonságai
A felhasználói felületen belüli vezérlők egyedi azonosításának és későbbi megkeresésének képessége biztosítja az automatizált tesztalkalmazások azon a felhasználói felületen való működését. Ebben számos Microsoft UI Automation-tulajdonságot használnak az ügyfelek és szolgáltatók.
AutomationID
Egyedileg azonosít egy automatizálási elemet a testvéreitől. AutomationIdProperty nem honosított, ellentétben az olyan tulajdonságokkal, mint például a NameProperty, amely általában honosított, ha egy termék több nyelven lesz szállítva. Lásd: AutomationID tulajdonság használata.
Jegyzet
AutomationIdProperty nem garantálja az egyedi identitást az automatizálási fa egészében. Előfordulhat például, hogy egy alkalmazás több felső szintű menüelemet tartalmazó menüvezérlőt tartalmaz, amely viszont több gyermekmenüelemből áll. Ezeket a másodlagos menüelemeket egy általános séma( például "Item1, Item 2, Item3 stb." ) azonosíthatja, amely lehetővé teszi a gyermekek ismétlődő azonosítóit a felső szintű menüelemek között.
vezérlő típus
Az automatizálási elem által képviselt vezérlőtípust azonosítja. A vezérlő típusának ismeretéből jelentős információk vonhatók le. Lásd felhasználói felület automatizálásának vezérlőtípusai – áttekintés.
NévTulajdonság
Ez egy vezérlőt azonosító vagy magyarázó szöveges sztring. NameProperty-t óvatosan használjuk, mivel honosítható. Lásd felhasználói felület automatizálási tulajdonságainak áttekintése.
Felhasználói felület automatizálásának implementálása tesztalkalmazásban
Lépés | Leírás |
---|---|
Adja hozzá a felhasználói felület automation-hivatkozásait. | Itt találja a felhasználói felületi automation-ügyfelekhez szükséges UI Automation dll-eket. - UIAutomationClient.dll hozzáférést biztosít a UI Automation ügyféloldali API-khoz. - UIAutomationClientSideProvider.dll lehetővé teszi a Win32-vezérlők automatizálását. Lásd: felhasználói felület automatizálásának támogatása a standard vezérlőkhöz. - UIAutomationTypes.dll hozzáférést biztosít a felhasználói felületi automatizálásban meghatározott konkrét típusokhoz. |
Adja hozzá a System.Windows.Automation névteret. | Ez a névtér mindent tartalmaz, amire a UI Automation-ügyfeleknek szükségük van a felhasználói felületi automatizálás képességeinek használatára, kivéve a szövegkezelést. |
Adja hozzá a System.Windows.Automation.Text névteret. | Ez a névtér mindent tartalmaz, amire egy UI Automation-ügyfélnek szüksége van a felhasználói felületi automatizálási szövegkezelés képességeinek használatához. |
Érdeklődésre számot tartó vezérlők keresése. | Az automatizált tesztszkriptek olyan felhasználói felületi Automation-elemeket keresnek, amelyek az automatizálási fán belül az érdeklődésre számot tartó vezérlőket jelölik. A felhasználói felületi automatizálási elemeket többféleképpen is beszerezheti kóddal. – A felhasználói felület lekérdezése egy Condition utasítással. Általában itt használják a nyelvsemleges AutomationIdProperty. Megjegyzés: Egy AutomationIdProperty olyan eszközzel szerezhető be, mint például a Inspect.exe, amely képes elemezni egy vezérlő felhasználói felületi automatizálási tulajdonságait. - A TreeWalker osztály használatával lépkedhet a teljes felhasználói felületi Automation-fán vagy annak egy részhalmazán. - A fókusz nyomon követése. - Használja a vezérlő hWnd értékét. – Használja a képernyő helyét, például az egérmutató helyét. Lásd: Felhasználói felületi automatizálási elemek beszerzése |
Szabályozási minták beszerzése. | A vezérlőminták a funkcionálisan hasonló vezérlők gyakori viselkedését teszik elérhetővé. A tesztelést igénylő vezérlők keresése után az automatizált tesztszkriptek ezekből a felhasználói felület automation elemeiből szerzik be az érdeklődésre számot tartó vezérlőmintákat. Például a InvokePattern vezérlőmintát a tipikus gombfunkciókhoz, vagy az ablakfunkciók WindowPattern vezérlőmintáját. Lásd felhasználói felület automatizálásának vezérlési mintáinak áttekintése. |
A felhasználói felület automatizálása. | Az automatizált tesztszkriptek mostantól a felhasználói felületi keretrendszerből vezérelhetik az érdeklődésre számot tartó felhasználói felületeket a felhasználói felület automatizálási mintái által közzétett információk és funkciók használatával. |
Kapcsolódó eszközök és technológiák
Számos kapcsolódó eszköz és technológia támogatja a felhasználói felületi automatizálással végzett automatizált tesztelést.
Inspect.exe egy grafikus felhasználói felületi (GUI) alkalmazás, amely a felhasználói felület automatizálási információinak gyűjtésére használható mind a szolgáltatói, mind az ügyfélfejlesztéshez és a hibakereséshez. Inspect.exe a Windows SDK tartalmazza.
Az MSAABridge felhasználói felületi automatizálási információkat tesz elérhetővé az aktív akadálymentességi ügyfelek számára. A felhasználói felületi automatizálás aktív akadálymentesítésre való áthidalásának elsődleges célja, hogy a meglévő aktív akadálymentességi ügyfelek képesek legyenek a felhasználói felületi automatizálást implementáló keretrendszerekkel való interakcióra.
Biztonság
A biztonsági információkért tekintse meg felhasználói felület automatizálásának biztonsági áttekintését.