Questo esempio proxy estende l'API proxy processSingleMouseEvent() per modificare il funzionamento della registrazione di un controllo spin. Nonostante un controllo spin abbia due pulsanti e un controllo di testo come i relativi elementi secondari, da una prospettiva di test, deve essere trattato come un singolo controllo senza elementi secondari nella mappa TestObject. In TestObjectMap, i pulsanti e il testo sono trattati come SubItems. L'implementazione processSingleMouseEvent() imposta i metodi con i SubItems adatti, ad esempio atButton("UP") oatButton("DOWN") come parametri per la registrazione. Inoltre, tenere presente che nonostante esistano oggetti child per il controllo spin, è necessario verificare che questi non siano riportati come TestObjects separati. Pertanto, le API getChildAtPoint() egetChildren() sono estese per restituire valori null. Questi oggetti child sono trattati come SubItems.
Supporto di riproduzione
Per supportare la riproduzione per ogni SubItem che viene introdotto durante la registrazione, Functional Tester ricerca il rettangolo di schermo per ogni SubItem mediante il proxy. Il rettangolo SubItem può essere fornito estendendo l'API proxy java.awt.Rectangle getScreenRectangle(Subitem subitem).
Copiare i file JSpinnerProxy.jar eJSpinnerProxy.rftcust nella directory di personalizzazione e riavviare Functional Tester per testare l'AUT (application-under-test) di esempio.
È possibile verificare il funzionamento della registrazione del controllo spin: