하위 레벨 재생에서는 마우스 휠 화면 이동도 지원합니다.
제품의 제한사항이나 불분명한 마우스 또는 키보드 조치를 극복하기 위해 하위 레벨 재생을 사용하려고 할 수 있습니다. 예를 들어, 그리기 프로그램에서 캔버스에 원을 그리는 경우, 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) ' 결과를 확인합니다.