在 HTML 應用程式上記錄 Script 時,請利用 Functional Tester 在記錄期間啟動應用程式。Functional Tester 會在預設瀏覽器或特定的瀏覽器中開啟您指定的 HTML 網頁。
在 HTML 應用程式上記錄 Script 時,您可以記錄滑鼠在下拉功能表上滾動時所啟動的下拉功能表浮動事件。這些下拉功能表以 DIV 標示實作。若要記錄下拉功能表的浮動事件,並下拉子功能表, 請將滑鼠浮動在功能表項目文字上,然後按 Shift。請確定滑鼠在功能表項目的文字上,不是在功能表項目文字右邊的空格上。
deleteCookies 方法有兩種版本。其中,一種方法可刪除現行設定檔或使用者的所有 Cookie, 另一種方法可刪除現行設定檔或使用者在特定路徑或網域中的 Cookie。如需相關資訊, 請參閱「Functional Tester API 參考手冊」中關於 com.rational.test.ft.object.interfaces 套件中的 IBrowserObject。
因為在瀏覽器功能表上的選取動作是根據畫面座標來記錄, 如果瀏覽器大小或位置改變,Script 可能無法正確重播。另外,由於不同瀏覽器上的功能表各有不同,也可能造成 Script 重播不正確。
在重播期間,如果將瀏覽器縮小,當 Applet 物件不在視圖中時,Functional Tester 並不會將 Applet 物件捲動到視圖中。
瀏覽器的網址欄位的位置以畫面座標為基礎,將隨著瀏覽器的大小和位置改變而改變。如果您按一下網址欄位並輸入新的 URL,Script 通常會失敗。當記錄時,請在 Script 中插入瀏覽器按一下動作 (Browser_htmlBrowser) 來變更 URL。
如果使用 INPUT 元素的 .size 內容,但在 INPUT 元素的 Html 內未指定 .size 內容,則 Internet Explorer 傳回的預設值是 20,Netscape 會傳回 0(零)。
建立跨平台的 Script 時,請避免使用只在一個瀏覽器中出現的工具列按鈕。下列是兩個瀏覽器通用的工具列按鈕:
Internet Explorer 和 Netscape 上都有「關閉」按鈕。記錄跨平台的 Script 時,請避免使用其他結束瀏覽器的方法。例如,按 Alt+F+C 僅適用於 Internet Explorer,按 Alt+F+X 僅適用於 Netscape。任一按鍵組合會導致 Script 在另一個瀏覽器上執行失敗。
有時候,如果瀏覽器物件的備妥狀態不是 4,播放 Script 來測試 HTML 應用程式會失敗。當播放 Script 時,請確定瀏覽器物件的備妥狀態是 4。您可以依照範例所示,手動修改測試 Script 來執行這個動作。
在 Java 中檢查瀏覽器狀態的 Script:logInfo("Ready State #: "+browser_htmlBrowser().getProperty(".readyState").toString());
在 .NET 中檢查瀏覽器狀態的 Script:LogInfo("Ready State #: " & Browser_HtmlBrowser().GetProperty(".readyState").ToString)
因為 Netscape 的啟動時間比 Internet Explorer 更久, 在記錄跨瀏覽器 Script 時,請利用 waitForExistence 方法來等待瀏覽器。例如:
為了處理蹦現功能表,Netscape 會忽略按一下滑鼠右鍵之後緊接著按一下鏈結的動作。一定需要這樣的按一下組合時,請先用滑鼠右鍵按一下鏈結、按一下文件的空白處,最後再按一下鏈結。雖然只有在 Netscape 中才需要這樣做,但對於 Internet Explorer 而言也是很好的作法。
在 Netscape 中,按 Ctrl 並按一下鏈結會在另一個 Netscape 實例中開啟網頁。在 Internet Explorer 中,同樣的按鍵組合只會產生正常按一下鏈結的結果。含有此動作組合的 Script 會有不同的重播結果,請避免進行跨瀏覽器測試。
在 Netscape 中,用滑鼠右鍵按一下清單框的項目再按一下項目時,Netscape 會忽略這個按一下動作。一定需要這樣的按一下組合時,請先用滑鼠右鍵按一下項目、按一下文件的空白處,最後再按一下清單框的子項目。
有時,HTML 的錯誤會導致不同的瀏覽器以不同的方式解譯 HTML DOM 階層。在一個瀏覽器中順利執行的 Script,在另一個瀏覽器中執行時可能失敗。請對每一個瀏覽器記錄一個 Script,並比較產生的測試物件對映。如果對映顯示不同的階層,請執行公用程式,例如 HTML Tidy。如果公用程式指出有錯誤,則可能是這些錯誤導致物件模型有不同的解譯,以至於形成不同的階層。從「全球資訊網協會」(www.w3.org) 可以取得 HTML Tidy。
在 Netscape 中記錄 Script 時,偶而會出現蹦現訊息框(瀏覽器使用者介面對話框),例如加密注意事項。在記錄跨瀏覽器的 Script 時,您一定不想納入這些訊息框,因為在 Internet Explorer 中通常不會出現。為了避免這個問題:
您可以修改 Script 來處理這種訊息框,但程式碼可能會很複雜。如需詳細資訊,請參閱延伸 Functional Tester 功能。
在記錄跨瀏覽器的相容 Script 時 (在 Functional Tester 支援的所有瀏覽器之間都相容的 Script),請儘量避免記錄任何蹦現訊息框。如果不是記錄跨瀏覽器相容的 Script,則可以在 Script 中記錄蹦現訊息框。
Functional Tester 支援 Windows® 平台上的「登入」、「檔案下載」、「憑證/安全性警告」、「檔案選擇器」(開啟舊檔/儲存檔案)及「列印」對話框。這些使用者介面對話框適用於特定瀏覽器,不具跨瀏覽器的相容性。在大多數情況下,「登入」對話框是跨瀏覽器相容。
在配置應用程式時,「功能測試」會將應用程式名稱新增至「應用程式配置工具」。如果測試許多不同的 URL,「應用程式」清單可能會很長。如果不要將 URL 新增至清單中,您可以在空的 Script 中利用 startBrowser 指令來測試。
startBrowser ("url");
Functional Tester 支援測試 Microsoft® HTML 應用程式 (MSHTA)。必須先執行 mshta.exe 來配置 MSHTA,才能測試 MSHTA。若要配置您要測試的每一個 HTA:
如果需要詳細資訊,請參閱「配置準備測試的應用程式」。
如果 TestManager 已安裝,則可用於在 Linux® 電腦上從遠端測試 HTML 應用程式。如需相關資訊,請參閱本端和代理電腦。
在測試 HTML 應用程式時,或從 HTML 日誌的檢視結果鏈結啟動「比較程式」時, 如果傳回 Java 外掛程式的錯誤,請確認瀏覽器的 Java 外掛程式已正確配置。如需相關指示,請參閱啟用瀏覽器的 Java 外掛程式。
關於 TestManager 整合附註:Functional Tester 和 Rational TestManager 7.0 版已整合。如果您有 TestManager 7.0 版,您可以使用 Functional Tester 和 TestManager 的整合特性。請參閱了解 Functional Tester 整合,以取得產品一起使用的重要資訊。