播放低階滑鼠和鍵盤動作

滑鼠和鍵盤動作的低階播放,提供對使用者動作事件更好的控制。例如,Functional Tester 目前支援 TestObject.click(),而按一下動作由滑鼠移動、按下滑鼠左鍵及放開滑鼠左鍵這三個低階動作組成。利用這項功能,您可以播放按一下滑鼠的分解動作。

低層次播放也支援滑鼠滾動。

您可以利用低層次播放來克服產品限制,或不明確的滑鼠或鍵盤動作。例如,如果要在繪圖程式中的畫布上繪製圓圈,雖然 Functional Tester 不支援複雜的圓形拖曳,但您可以利用 drag() 方法來繪製直線。為了克服不明確的滑鼠或鍵盤動作,您可以利用低層次播放來播放繪製圓圈的滑鼠動作。

RootTestObject 類別包含兩個方法:

在 SubitemFactory 上,建構 LowLevelEvents 的 Factory 方法包括:

滑鼠中間鍵和滑鼠右鍵也有類似的方法。為了顧及系統處理前一個事件所需的時間,延遲事件可保證至少等待指定的毫秒數。

用來在畫布左上部分繪製 V 字母的 Rational® Functional Tester (Eclipse Integration) 範例:

// 這個常式會在畫布左上部分
// 繪製 "V"。
// 首先,按一下左上角的一個點,// 在整個動作期間一直按住滑鼠左鍵,滑鼠
// 將向右再向下移動,然後向右再向上移動,// 最後放開滑鼠左鍵。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();
// 插入延遲時間,讓 SUT 有足夠的時間可回應
// 送來的事件。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 控制項並確認這個控制項會回應滑鼠滾輪事件的 Rational Functional Tester (Microsoft Visual Studio .NET Integration) 範例:

' 將測試 TrackBar 控制項來確定
' 可回應滑鼠滾輪事件。TrackBar1Slider().Click(AtPoint(0, 0))
' 建立低層次事件,代表往下捲動
' 滑鼠滾輸 25 次。Dim ScrollDown As LowLevelEvent = MouseWheel(-25)
GetRootTestObject().EmitLowLevelEvent(ScrollDown)
' 驗證結果。

意見