Il seguente elenco descrive i livelli di richieste:
Azione | Metodo |
---|---|
Elabora eventi di basso livello | processMouseEvent |
Individua la destinazione di un'azione di trascinamento | getMethodSpecForPoint |
Supporto punto di verifica | getTestDataTypes getTestData getProperties getStandardProperties getProperty |
Metodi di gerarchia | getMappableParent getParent getChildren getMappableChildren getOwner getOwned |
Supporto riconoscimento | getRecognitionProperties shouldBeMapped getRole getTestObjectClassName getRecognitionPropertyWeight |
Il client Functional Tester invia richieste a tutti i domini di test se possono trovare l'oggetto di destinazione nella relativa gerarchia mappa di oggetti registrata utilizzando le proprietà di riconoscimento registrate.
Risultato | Azione |
---|---|
Non viene rilevato alcun oggetto di destinazione | Viene generata un'eccezione che indica che non è stato rilevato un TestObject. |
Vengono rilevati diversi oggetti di destinazione | Per determinare il vincitore, viene utilizzato il punteggio di rilevamento dell'oggetto, altrimenti questo può risultare ambiguo. |
Viene rilevato un TestObject univoco | Sul proxy viene richiamato il metodo dell'azione di riproduzione. Ad esempio, l'azione di riproduzione che è stata registrata potrebbe essere il metodo click(). |
Nella soglia dell'ambiguità è stato rilevato più di un TestObject | Viene generata un'eccezione ambigua. |
Functional Tester utilizza le proprietà di riconoscimento e la gerarchia del controllo per individuare un controllo e fornisce un'interfaccia. Queste informazioni vengono raccolte e memorizzare nella mappa di oggetti. Durante la riproduzione le informazioni memorizzate vengono utilizzate per individuare univocamente l'elemento UI. Functional Tester raccoglie inoltre le informazioni su coordinate dello schermo, dati e proprietà del controllo, dettagli di riflessi e parti dei controlli quando richiesto. Presenta l'elemento UI con le informazioni raccolte come un TestObject nello script.
In fase di registrazione delle azioni utente come clic sul mouse, doppi clic o trascinamenti vengono registrati come rispettivi metodi TestObjectin in uno script di test. Ad esempio, button().click(atPoint(10,10)). Durante la riproduzione, Functional Tester rileva il TestObject corrispondente utilizzando le informazioni memorizzate nella mappa di oggetti e l'azione utente viene eseguita in base a ciò.