이 프록시 샘플은 processSingleMouseEvent() 프록시 API를 확장하여 스핀(spin) 제어의 레코딩 동작을 수정합니다. 스핀(spin) 제어는 하위로서 두 개의 단추 및 하나의 텍스트 제어를 가지고 있음에도 불구하고, 테스트라는 관점에서 TestObject 맵에 하위가 전혀 표시되지 않는 단일 제어로 취급되어야 합니다. (TestObjectMap에서 단추 및 텍스트는 서브아이템(SubItem)으로 취급됩니다.) processSingleMouseEvent() 구현은 적절한 서브아이템(SubItem)으로 메소드를 설정합니다(예: 레코딩의 매개변수로 atButton("UP") 또는 atButton("DOWN")). 또한 비록 스핀(spin) 제어에 하위 오브젝트가 있을지라도 독립 TestObjects로 나열되지 않았는지 확인해야 합니다. 그러므로 getChildAtPoint() 및 getChildren() API는 확장되어 널값을 리턴합니다. 이 하위 오브젝트는 서브아이템(SubItems)으로 취급됩니다.
재생 지원
레코딩 동안 삽입된 각 서브아이템(SubItem)의 재생을 지원하기 위해 Functional Tester는 프록시를 통해 각 서브아이템(SubItem)의 화면 직사각형을 찾습니다. 서브아이템(SubItem) 직사각형은 java.awt.Rectangle getScreenRectangle(Subitem subitem) 프록시 API를 확장함으로써 제공받을 수 있습니다.
JSpinnerProxy.jar 및 JSpinnerProxy.rftcust 파일을 사용자 정의 디렉토리로 복사하고 Functional Tester를 다시 시작하여 샘플 AUT(application-under-test)를 테스트하십시오.
스핀(spin) 제어의 레코딩 동작을 다음과 같이 확인할 수 있습니다.