さらに低レベル再生は、マウス・ホイールでのスクロールもサポートします。
製品の限界や、あいまいなマウスまたはキーボード・アクションを克服するため、低レベル再生を使用する必要があるかもしれません。例えば、Functional Tester は描画プログラムのキャンバスで円を描く場合の複雑な円形のドラッグはサポートしませんが、drag() メソッドを使用して直線を描くことは可能です。 あいまいなマウスまたはキーボードのアクションを克服するために、低レベル再生を使用し、円を描くためのマウス・アクションを再生することができます。
RootTestObject クラスには、次の 2 つのメソッドが含まれます。
LowLevelEvents の構成のための SubitemFactory でのファクトリー・メソッドには次のものが含まれます。
中央および右マウス・ボタン用にパラレル・メソッドがあります。遅延イベントは、システムが前のイベントに費やす時間を考慮に入れて、最低でも指定されたミリ秒間の遅延を保証します。
以下に、「Functional Tester、Java™ スクリプト」で描画キャンバスの左上の部分に文字 V を描く例を示します。
// 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);
以下は、「Functional Tester、VB.NET スクリプト」で TrackBar コントロールをテストし、マウス・ホイール・イベントに対するコントロールの応答を確認する例です。
' This will test a TrackBar control to make sure ' that it responds to mouse wheel events. TrackBar1Slider().Click(AtPoint(0, 0)) ' Create a Low Level Event representing scrolling ' the mouse wheel down 25 clicks. Dim ScrollDown As LowLevelEvent = MouseWheel(-25) GetRootTestObject().EmitLowLevelEvent(ScrollDown) ' Verify The Results.