마우스 및 키보드 조치의 하위 레벨 재생

마우스 및 키보드 조치의 하위 레벨 재생에서는 사용자 조치 이벤트를 더 많이 제어합니다. 예를 들어, Functional Tester는 현재 TestObject.click()을 지원합니다. 여기서, 클릭은 마우스 이동, 왼쪽 마우스 단추 누르기 및 왼쪽 마우스 단추 놓기로 구성됩니다. 이 기능을 이용하여 마우스 클릭의 각 컴포넌트를 재생할 수 있습니다.

하위 레벨 재생에서는 마우스 휠 화면 이동도 지원합니다.

제품의 제한사항이나 불분명한 마우스 또는 키보드 조치를 극복하기 위해 하위 레벨 재생을 사용하려고 할 수 있습니다. 예를 들어, 그리기 프로그램에서 캔버스에 원을 그리는 경우, Functional Tester는 복잡한 원 끌기를 지원하지 않지만 drag() 메소드를 사용하여 직선을 그릴 수 있습니다. 불분명한 마우스 또는 키보드 조치를 극복하기 위해, 하위 레벨 재생을 사용하여 원을 그리는 마우스 조치를 재생할 수 있습니다.

RootTestObject 클래스에는 다음 두 메소드가 포함됩니다.

LowLevelEvents 생성을 위한 SubitemFactory의 팩토리 메소드에는 다음이 포함됩니다.

중간과 오른쪽 마우스 단추를 위한 병렬 메소드도 있습니다. 시스템이 이전 이벤트를 소비하는 데 걸리는 시간을 고려해 볼 때 지연 이벤트는 지정된 밀리초의 지연 시간을 보장합니다.

다음은 그리기 캔버스의 왼쪽 상단 부분에서 V자를 그리는 Functional Tester, Java™ 스크립트 예제입니다.

// This routine will draw a "V" in the upper left portion
// of the drawing canvas.
// First a point in the upper left corner will be clicked, the left mouse
// button will be held down for the duration of the action, the mouse
// will be moved to the right and down, then to the right and back up,
// and finally the left mouse button will be released.
Rectangle screenRect =
   (Rectangle) drawingWindow().getProperty(".screenRectangle");
Point origin = new Point(screenRect.x + 5, screenRect.y + 5);
LowLevelEvent llEvents[] = new LowLevelEvent[7];
llEvents[0] = mouseMove(atPoint(origin.x, origin.y));
llEvents[1] = leftMouseButtonDown();
// insert a delay to provide the SUT with time to respond
// to the events being delivered to it.
llEvents[2] = delay(250);
llEvents[3] = mouseMove(atPoint(origin.x + 25, origin.y + 50));
llEvents[4] = delay(250);
llEvents[5] = mouseMove(atPoint(origin.x + 50, origin.y));
llEvents[6] = leftMouseButtonUp();
getRootTestObject().emitLowLevelEvent(llEvents);

다음은 TrackBar 제어를 테스트하고 제어에서 마우스 휠 이벤트에 응답하는지를 확인하는 Functional Tester, VB.NET 스크립팅의 예제입니다.

' TrackBar 제어가 마우스 볼 이벤트에 응답하는지 확인하기 위해
' TrackBar 제어를 테스트합니다.
TrackBar1Slider().Click(AtPoint(0, 0))
' 25번 클릭만큼 마우스 휠을 아래로 화면 이동시키는
' 하위 레벨 이벤트를 작성합니다.
Dim ScrollDown As LowLevelEvent = MouseWheel(-25)
GetRootTestObject().EmitLowLevelEvent(ScrollDown)
' 결과를 확인합니다.

피드백