重播低階滑鼠和鍵盤動作

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

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

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

RootTestObject 類別包含兩個方法:

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

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

在繪圖畫布的左上方繪製字母 V 的 Functional Tester Java™ Scripting 範例:

// 這個常式會在繪圖畫布的左上方
// 繪製 "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 控制項和確認控制項可回應滑鼠滾輪事件的 Functional Tester VB.NET Scripting 範例:

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


意見
(C) Copyright IBM Corporation 2000, 2007. All Rights Reserved.