SynchronizedInput – vzor ovládacího prvku
Popisuje pokyny a konvence pro implementaci ISynchronizedInputProvider, včetně informací o vlastnostech a metodách. Vzor ovládacího prvku SynchronizedInput umožňuje klientským aplikacím Microsoft UI Automation směrovat vstup myši nebo klávesnice na konkrétní prvek uživatelského rozhraní.
Tento vzor ovládacího prvku se obvykle používá v automatizovaných testovacích skriptech k odesílání vstupu myši nebo klávesnice do konkrétního prvku uživatelského rozhraní a pak ověřte, že element přijal vstup.
Toto téma obsahuje následující části.
- pokyny k implementaci a konvence
- požadované členy pro ISynchronizedInputProvider
- související témata
Při implementaci vzoru kontroly SynchronizedInput si všimněte následujících pokynů a konvencí:
- Když je volána metoda ISynchronizedInputProvider::StartListening, poskytovatel automatizace uživatelského rozhraní by měl začít kontrolovat vstup zadaného typu a pak provést jednu z následujících akcí:
- Při nalezení odpovídajícího vstupu pro prvek by zprostředkovatel měl vyvolat UIA_InputReachedTargetEventId událost.
- Když se najde odpovídající vstup, ale dosáhl jiného prvku, měl by poskytovatel vyvolat UIA_InputReachedOtherElementEventId událost.
- Pokud se najde neshodný vstup, měl by zprostředkovatel zahodit vstup a vyvolat UIA_InputDiscardedEventId událost.
- Zprostředkovatel automatizace uživatelského rozhraní musí zahodit vstup, pokud se jedná o jiný prvek než aktuální prvek.
- Když element přijme vstup, nebo když ISynchronizedInputProvider::Cancel metoda je volána, zprostředkovatel zastaví kontrolu vstupu a pokračuje jako normální.
- Pokud ISynchronizedInputProvider::StartListening je volán, když zprostředkovatel již naslouchá vstupu, měl by zprostředkovatel vrátit UIA_E_INVALIDOPERATION.
Pro implementaci rozhraní ISynchronizedInputProvider jsou vyžadovány následující vlastnosti, metody a události.
Požadované členy | Typ členu | Poznámky |
---|---|---|
StartListening | Metoda | Žádný |
Zrušit | Metoda | Žádný |
UIA_InputReachedTargetEventId | Událost | Žádný |