可以使用的範例

這個 Proxy 範例說明如何擴充具有 SubItem 之控制項的記錄行為, 以及對應重播的支援。

擴充的功能:記錄具有 SubItem 的控制項

這個 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)。

驗證記錄行為

您可以驗證旋轉鈕控制項的記錄行為:

  • 在部署 Proxy 之前,當您記錄 JSpinner 上下按鈕的結果時, 點擊會記錄成 button.click(),其中每一個上下控制項都會視為個別的控制項。
  • 部署 Proxy 之後,點擊上按鈕會記錄為 spinner().click(atButton("UP"))。 請注意,這些按鈕會視為 SubItem 並記錄下來,不會當成個別的 TestObject。

驗證重播行為

  • 在部署 Proxy 之前,重播具有 SubItem 的使用者動作(例如:spinner().click(atButton("UP")))會擲出異常狀況,指出找不到端點。
  • 部署 Proxy 之後,重播具有 SubItem 的使用者動作則會運作正常。
上層主題: JSpinnerProxy

意見