사용 가능 예제

이 프록시 샘플은 서브아이템(SubItem)을 사용한 제어의 레코딩 동작을 확장하고 상응하는 재생을 지원하는 방법을 설명합니다.

확장된 기능: 서브아이템(SubItem)을 사용한 레코딩 제어

이 프록시 샘플은 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를 확장함으로써 제공받을 수 있습니다.

2진 배치

JSpinnerProxy.jar 및 JSpinnerProxy.rftcust 파일을 사용자 정의 디렉토리로 복사하고 Functional Tester를 다시 시작하여 샘플 AUT(application-under-test)를 테스트하십시오.

레코딩 동작 확인

스핀(spin) 제어의 레코딩 동작을 다음과 같이 확인할 수 있습니다.

  • 프록시를 배치하기 전, JSpinner의 위로 및 아래로 단추 결과를 레코딩할 때 클릭은 button.click()으로 레코딩되며, 위로 및 아래로 제어는 각각 독립 제어로 취급됩니다.
  • 프록시 배치 후, 위로 단추를 클릭하는 것은 spinner().click(atButton("UP"))으로 레코딩됩니다. 단추가 독립 TestObjects가 아닌 서브아이템(SubItem)으로서 취급되고 레코딩됩니다.

재생 동작 확인

  • 프록시 배치 전, 서브아이템(SubItem)을 사용한 사용자 조치 재생(예: spinner().click(atButton("UP")))은 Point not found 예외를 표시합니다.
  • 프록시 배치 후, 서브아이템(SubItem)을 사용한 사용자 조치 재생이 제대로 작동합니다.
상위 주제: JSpinnerProxy

피드백