練習 1.10:使用正規表示式

開始之前,您必須先完成練習 1.9:變更識別喜好設定

我們在使用物件對映表時所要執行的最後一個動作就是將內容值轉換成正規表示式。在這個案例中,正規表示式可為物件識別提供更大的彈性。

我們剛才已經看過如何讓 Script 在 ClassicsB 上完全通過測試。這正是我們的目標,因為 ClassicsB 中對應用程式所做的變更是正確的。因此 Script 目前正處於我們希望它往前進的狀態。現在當您針對 ClassicsA 來重播 Script 時,它會因為之前所做的變更而失敗。您可能想要讓物件的多個變式通過測試。您可能擁有動態物件,或是擁有幾個版本的應用程式(內含具有些許差異的物件版本),而兩種情況都是正確的。您可以使用正規表示式來允許多個版本的內容值(例如文字),以容許這種情況。

  1. 如果要針對 ClassicsA 來重播,請編輯 Script 頂端的 startApp 指令,並將 B 改成 A。
  2. 按一下「功能測試」工具列上的執行功能測試 Script

重播期間,功能測試會在密碼勾選框物件上暫停一小段時間,但最終仍會完成。

Script 現在會提供警告。請注意它在日誌中是同一個物件:密碼勾選框。
  1. 關閉日誌。
  2. 以您在練習 1.8 中使用的相同方式,按兩下 Script 瀏覽器中的密碼勾選框,從密碼勾選框物件開啟物件對映表。
  3. 在物件對映表中按一下應用程式 > 執行,以開啟應用程式。
  4. 使用箭頭選取 ClassicsJavaA。(請務必選擇 A)。
  5. 按一下確定
  6. 選擇任意 CD,然後按一下 ClassicsCD 中的訂購,開啟「成員登入」對話框。
  7. 以您在練習 1.8 中使用的相同方式將新物件加入對映表中:按一下測試物件 > 插入物件,然後使用「物件搜尋器」在應用程式的「成員登入」對話框中選取密碼勾選框。
  8. 下一步,然後按一下完成
  9. 在物件對映表的頂端窗格中,將舊勾選框物件拖曳到新勾選框物件中,以統一這些物件。
  10. 如有必要,請將「統一測試物件」精靈其中一邊往外拖曳使其變寬,以增加欄位長度。
您將使用兩個不同的正規表示式:其中一個位於 name 內容上,另一個則位於 accessibleName 內容上。

統一的物件顯示在統一測試物件內容方格(頂端窗格)中;name 內容的值為 "checkRemember"。

  1. 在頂端窗格中,用滑鼠右鍵按一下 "checkRemember" 值,然後按一下將值轉換成正規表示式

功能測試會以值文字前面的 "xy" 圖示將值指派為正規表示式。

  1. 再按兩下名稱值以編輯欄位。
  2. 刪除 "check" 這個字,並將剩下的字編輯如下:
  3. [rR]emember

  4. 在該資料格的外面按一下。

這種型樣會讓具有大寫 "R" 或小寫 "r" 的 "remember" 單字都能通過驗證。這非常重要,因為比較是區分大小寫的,而且只有完全相符的項目才能通過驗證。

accessibleName 內容的值是 "Remember Password"。
  1. 用滑鼠右鍵按一下 Remember Password 值,然後選取將值轉換成正規表示式來轉換它。
  2. 接著再按兩下值,然後將它編輯如下:
  3. Remember.*Password

    您將移除空格並加入句點 (.) 和星號 (*) 字元。

  4. 按一下另一個資料格。

"." 可允許任何字元出現在其所在位置。在應用程式的其中一個版本中,這個內容中的兩個單字之間有一個空格,而另外一個版本則沒有空格。這種型樣可同時涵蓋這兩種情況。

  1. 下一步,然後按一下精靈中的完成
  2. 在物件對映表中按一下檔案:儲存,然後關閉物件對映表。
  3. 關閉 ClassicsCD。

接下來是比較有趣的部分!

  1. 再次於 ClassicsA 上重播 Script。

這時日誌中已經不再顯示有關 ClassicsA 的物件識別警告。

  1. 關閉日誌。
  2. 將 startApp 指令改成重播 ClassicsB,然後執行 Script。

物件識別也會通過 ClassicsB!如果某個物件在不同的應用程式版本中擁有不同的內容,而且系統會在重播期間識別這兩者,正規表示式便可為其提供彈性較大的識別功能。如果需要有關正規表示式的詳細資訊,請參閱「功能測試說明」。

請檢視摘要中的資料,以完成指導教學。

使用條款 | 意見
(C) Copyright IBM Corporation 2002, 2004. All Rights Reserved.