Bei der Wiedergabe von Maus- und Tastatureingaben der unteren Ebene wird auch die Verwendung des Mausrads unterstützt.
Sie können auch die Wiedergabe von Maus- und Tastatureingaben der unteren Ebene dazu verwenden, eine Produkteinschränkung oder eine unklare Maus- oder Tastaturaktion zu umgehen. Wenn Sie beispielsweise in einem Zeichenprogramm in einer Grafik einen Kreis zeichnen möchten, wird die komplexe kreisrunde Zeichenbewegung von Functional Tester nicht unterstützt. Sie können aber die Methode "drag()" verwenden und zumindest gerade Linien zeichnen. Um eine unklare Maus- oder Tastaturaktion zu umgehen, können Sie über die Wiedergabe von Maus- und Tastatureingaben der unteren Ebene die Mausaktionen zum Zeichnen des Kreises wiedergeben.
Zu der Klasse "RootTestObject" gehören zwei Methoden:
Zu den Factorymethoden für "SubitemFactory" zur Erstellung von "LowLevelEvents" zählen:
Vergleichbare Methoden gibt es auch für die mittlere und die rechte Maustaste. Bei einem Verzögerungsereignis ist garantiert, dass zumindest um die angegebene Zeitspanne in Millisekunden verzögert wird. Dabei wird die Zeit berücksichtigt, die das System dafür benötigt, das vorhergehende Ereignis zu verarbeiten.
Es folgt ein Beispiel zu Functional Tester, Java Scripting, über das oben links in der Zeichnung der Buchstabe "V" gezeichnet wird:
// 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);
Es folgt ein Beispiel zu Functional Tester, VB.NET Scripting, über das eine Schiebeleiste getestet und geprüft werden soll, ob die Steuerung auf die Mausradereignisse reagiert:
' 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.