Este ejemplo de proxy amplía el proxy API processSingleMouseEvent() para modificar el comportamiento de grabación de un control numérico. A pesar de que un control numérico tiene dos botones y un control de texto como sus hijos, desde una perspectiva de prueba tiene que tratarse como un solo control sin hijos en el mapa de TestObject. (En el TestObjectMap, botones y el texto se tratan como SubItems). La implementación processSingleMouseEvent() establece métodos con SubItems adecuados, por ejemplo atButton("UP") o atButton("DOWN") como parámetros de grabación. Tenga en cuenta de que a pesar de que haya objetos hijo para el control numérico, debe asegurarse de que no estén listados como TestObjects separados. Por ello, los APIs getChildAtPoint() y getChildren() APIs se amplían para devolver valores vacíos. Estos objetos hijo se tratan como SubItems.
Soporte de reproducción
Para soportar la reproducción de cada SubItem que se introduce durante la grabación, Functional Tester busca el rectángulo de pantalla para cada SubItem a través del proxy. El rectángulo SubItem puede proporcionarse ampliando el proxy API java.awt.Rectangle getScreenRectangle(Subitem subitem).
Copiar los archivos JSpinnerProxy.jar y JSpinnerProxy.rftcust al directorio de personalización y reiniciar Functional Tester para probar la aplicación de ejemplo que se está probando.
Puede verificar el comportamiento de grabación del control numérico: