HTML 應用程式功能測試的要訣和技巧

本主題提供記錄和重播 Script 來測試 HTML 應用程式的要訣和技巧。

先開始記錄,再啟動應用程式

在 HTML 應用程式上記錄 Script 時,請利用 Functional Tester 在記錄期間啟動應用程式。Functional Tester 會在預設瀏覽器或特定的瀏覽器中開啟您指定的 HTML 網頁。

記錄 HTML 功能表上的浮動事件

在 HTML 應用程式上記錄 Script 時,您可以記錄滑鼠在下拉功能表上滾動時所啟動的下拉功能表浮動事件。這些下拉功能表以 DIV 標示實作。若要記錄下拉功能表的浮動事件,並下拉子功能表, 請將滑鼠浮動在功能表項目文字上,然後按 Shift。請確定滑鼠在功能表項目的文字上,不是在功能表項目文字右邊的空格上。

在 Script 中使用 deleteCookies 方法

deleteCookies 方法有兩種版本。其中,一種方法可刪除現行設定檔或使用者的所有 Cookie, 另一種方法可刪除現行設定檔或使用者在特定路徑或網域中的 Cookie。如需相關資訊, 請參閱「Functional Tester API 參考手冊」中關於 com.rational.test.ft.object.interfaces 套件中的 IBrowserObject。

避免在 Script 中包含功能表項目

因為在瀏覽器功能表上的選取動作是根據畫面座標來記錄, 如果瀏覽器大小或位置改變,Script 可能無法正確重播。另外,由於不同瀏覽器上的功能表各有不同,也可能造成 Script 重播不正確。

確定 Java Applet 在重播期間是在完整視圖中

在重播期間,如果將瀏覽器縮小,當 Applet 物件不在視圖中時,Functional Tester 並不會將 Applet 物件捲動到視圖中。

使用 loadURL( ) 方法來變更 URL

瀏覽器的網址欄位的位置以畫面座標為基礎,將隨著瀏覽器的大小和位置改變而改變。如果您按一下網址欄位並輸入新的 URL,Script 通常會失敗。當記錄時,請在 Script 中插入瀏覽器按一下動作 (Browser_htmlBrowser) 來變更 URL。

  1. 在記錄時,按一下瀏覽器標題的任何空白處,將瀏覽器按一下動作併入測試物件對映中。
  2. 在記錄之後,檢視 Script,並將游標移至 Script 的空白行。
  3. 在「Script 瀏覽器」中,展開測試物件, 用滑鼠右鍵按一下 Browser_htmlBrowser
icon Browser_htmlBrowser, 然後選取在游標處插入資產
  4. 選取 loadURL(String) 方法。
  5. loadURL 陳述式的括弧之間輸入新 URL 的名稱。
  6. 在行尾插入分號 (;),但僅限 Java,若為 VB.NET 則不必。

使用 INPUT 元素的 .size 內容

如果使用 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 在另一個瀏覽器上執行失敗。

檢查瀏覽器物件的 .readystate

有時候,如果瀏覽器物件的備妥狀態不是 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)

使用 waitForExistence 方法來兼顧瀏覽器啟動速度

因為 Netscape 的啟動時間比 Internet Explorer 更久, 在記錄跨瀏覽器 Script 時,請利用 waitForExistence 方法來等待瀏覽器。例如:

  1. 在記錄時,啟動應用程式。
  2. 按一下「記錄」工具列的插入驗證點或動作指令按鈕 插入驗證點或動作指令按鈕
  3. 在「驗證點和動作精靈」的選取物件頁面, 按一下物件搜尋器圖示 物件搜尋器圖示,並拖曳至 HTML 網頁上(不是瀏覽器本身)。
  4. 下一步
  5. 在「驗證點和動作精靈」的選取動作頁面, 按一下等待選取的 TestObject 選項。
  6. 必要的話,清除使用預設值, 變更等待時間上限檢查間隔設定, 分別為 2 分鐘和 2 秒。
  7. 按一下完成

避免在跨平台 Script 中使用這些滑鼠點選動作和按鍵組合

為了處理蹦現功能表,Netscape 會忽略按一下滑鼠右鍵之後緊接著按一下鏈結的動作。一定需要這樣的按一下組合時,請先用滑鼠右鍵按一下鏈結、按一下文件的空白處,最後再按一下鏈結。雖然只有在 Netscape 中才需要這樣做,但對於 Internet Explorer 而言也是很好的作法。

在 Netscape 中,按 Ctrl 並按一下鏈結會在另一個 Netscape 實例中開啟網頁。在 Internet Explorer 中,同樣的按鍵組合只會產生正常按一下鏈結的結果。含有此動作組合的 Script 會有不同的重播結果,請避免進行跨瀏覽器測試。

在 Netscape 中,用滑鼠右鍵按一下清單框的項目再按一下項目時,Netscape 會忽略這個按一下動作。一定需要這樣的按一下組合時,請先用滑鼠右鍵按一下項目、按一下文件的空白處,最後再按一下清單框的子項目。

執行公用程式來修正格式錯誤的 HTML

有時,HTML 的錯誤會導致不同的瀏覽器以不同的方式解譯 HTML DOM 階層。在一個瀏覽器中順利執行的 Script,在另一個瀏覽器中執行時可能失敗。請對每一個瀏覽器記錄一個 Script,並比較產生的測試物件對映。如果對映顯示不同的階層,請執行公用程式,例如 HTML Tidy。如果公用程式指出有錯誤,則可能是這些錯誤導致物件模型有不同的解譯,以至於形成不同的階層。從「全球資訊網協會」(www.w3.org) 可以取得 HTML Tidy。

處理蹦現訊息框

在 Netscape 中記錄 Script 時,偶而會出現蹦現訊息框(瀏覽器使用者介面對話框),例如加密注意事項。在記錄跨瀏覽器的 Script 時,您一定不想納入這些訊息框,因為在 Internet Explorer 中通常不會出現。為了避免這個問題:

  1. 當蹦現訊息出現時,暫停記錄。
  2. 在訊息上選取任何可防止訊息再次出現的勾選框。
  3. 按一下取消,關閉訊息框。
  4. 回復記錄。

您可以修改 Script 來處理這種訊息框,但程式碼可能會很複雜。如需詳細資訊,請參閱延伸 Functional Tester 功能

在記錄跨瀏覽器的相容 Script 時 (在 Functional Tester 支援的所有瀏覽器之間都相容的 Script),請儘量避免記錄任何蹦現訊息框。如果不是記錄跨瀏覽器相容的 Script,則可以在 Script 中記錄蹦現訊息框。

Functional Tester 支援 Windows® 平台上的「登入」、「檔案下載」、「憑證/安全性警告」、「檔案選擇器」(開啟舊檔/儲存檔案)及「列印」對話框。這些使用者介面對話框適用於特定瀏覽器,不具跨瀏覽器的相容性。在大多數情況下,「登入」對話框是跨瀏覽器相容。

不配置應用程式而直接測試 URL

在配置應用程式時,「功能測試」會將應用程式名稱新增至「應用程式配置工具」。如果測試許多不同的 URL,「應用程式」清單可能會很長。如果不要將 URL 新增至清單中,您可以在空的 Script 中利用 startBrowser 指令來測試。

  1. 不記錄而直接建立新的功能測試 Script。
  2. 在空白行,輸入下列指令:

    startBrowser ("url");

  3. 儲存 Script 並執行。
  4. 當網頁出現時,請在「功能測試」工具列按一下在作用中 Functional Tester Script 中插入記錄 在作用中 Functional Tester Script 中插入記錄按鈕,開始在網頁上記錄。

測試 HTA

Functional Tester 支援測試 Microsoft® HTML 應用程式 (MSHTA)。必須先執行 mshta.exe 來配置 MSHTA,才能測試 MSHTA。若要配置您要測試的每一個 HTA:

  1. 在「應用程式配置工具」的類型欄位中, 選取 executablebatch
  2. 執行檔欄位中,選取 mshta.exe
  3. 引數欄位中,將參數 x.hta 傳遞給執行檔, 其中,x 是 HTA 檔案的名稱。

如果需要詳細資訊,請參閱「配置準備測試的應用程式」。

透過 TestManager 執行遠端測試

如果 TestManager 已安裝,則可用於在 Linux® 電腦上從遠端測試 HTML 應用程式。如需相關資訊,請參閱本端和代理電腦

處理 Java 外掛程式錯誤

在測試 HTML 應用程式時,或從 HTML 日誌的檢視結果鏈結啟動「比較程式」時, 如果傳回 Java 外掛程式的錯誤,請確認瀏覽器的 Java 外掛程式已正確配置。如需相關指示,請參閱啟用瀏覽器的 Java 外掛程式

關於 TestManager 整合附註:Functional Tester 和 Rational TestManager 7.0 版已整合。如果您有 TestManager 7.0 版,您可以使用 Functional Tester 和 TestManager 的整合特性。請參閱了解 Functional Tester 整合,以取得產品一起使用的重要資訊。


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