開始之前,您必須先完成練習 1.9:變更識別喜好設定。
我們在使用物件對映表時所要執行的最後一個動作就是將內容值轉換成正規表示式。在這個案例中,正規表示式可為物件識別提供更大的彈性。
我們剛才已經看過如何讓 Script 在 ClassicsB 上完全通過測試。這正是我們的目標,因為 ClassicsB 中對應用程式所做的變更是正確的。因此 Script 目前正處於我們希望它往前進的狀態。現在當您針對 ClassicsA 來重播 Script 時,它會因為之前所做的變更而失敗。您可能想要讓物件的多個變式通過測試。您可能擁有動態物件,或是擁有幾個版本的應用程式(內含具有些許差異的物件版本),而兩種情況都是正確的。您可以使用正規表示式來允許多個版本的內容值(例如文字),以容許這種情況。
重播期間,功能測試會在密碼勾選框物件上暫停一小段時間,但最終仍會完成。
Script 現在會提供警告。請注意它在日誌中是同一個物件:密碼勾選框。
統一的物件顯示在統一測試物件內容方格(頂端窗格)中;name 內容的值為 "checkRemember"。
功能測試會以值文字前面的 "xy" 圖示將值指派為正規表示式。
[rR]emember
這種型樣會讓具有大寫 "R" 或小寫 "r" 的 "remember" 單字都能通過驗證。這非常重要,因為比較是區分大小寫的,而且只有完全相符的項目才能通過驗證。
accessibleName 內容的值是 "Remember Password"。
Remember.*Password
您將移除空格並加入句點 (.) 和星號 (*) 字元。
"." 可允許任何字元出現在其所在位置。在應用程式的其中一個版本中,這個內容中的兩個單字之間有一個空格,而另外一個版本則沒有空格。這種型樣可同時涵蓋這兩種情況。
接下來是比較有趣的部分!
這時日誌中已經不再顯示有關 ClassicsA 的物件識別警告。
物件識別也會通過 ClassicsB!如果某個物件在不同的應用程式版本中擁有不同的內容,而且系統會在重播期間識別這兩者,正規表示式便可為其提供彈性較大的識別功能。如果需要有關正規表示式的詳細資訊,請參閱「功能測試說明」。
請檢視摘要中的資料,以完成指導教學。