這個 Proxy 範例會擴充 processSingleMouseEvent() Proxy API,以修改旋轉鈕控制項的記錄行為。雖然旋轉鈕控制項有兩個按鈕和一個文字控制項作為其子項, 但是從測試角度來說,當它顯示在 TestObject 對映表時,必須視為不含子項的單一控制項。(在 TestObjectMap 中,按鈕和文字會視為 SubItem。) processSingleMouseEvent() 實作會設定具有合適 SubItem 的方法(例如:atButton("UP") 或 atButton("DOWN"))作為記錄的參數。同時請注意,雖然旋轉鈕控制項有子物件, 但是您必須確定這些子物件未列為個別的 TestObject。 因此,getChildAtPoint() 和 getChildren() API 會擴充為傳回空值。這些子物件會視為 SubItem。
重播支援
為了支援重播記錄期間引進的每一個 SubItem,Functional Tester 會尋找畫面矩形來找出每一個透過 Proxy 的 SubItem。您可以擴充 java.awt.Rectangle getScreenRectangle(Subitem subitem) Proxy API 來提供 SubItem 矩形。
請將 JSpinnerProxy.jar 和 JSpinnerProxy.rftcust 檔複製到自訂目錄中, 然後重新啟動 Functional Tester 來測試範例「測試中應用程式」(AUT)。
您可以驗證旋轉鈕控制項的記錄行為: