應用程式的版本更新是測試中步驟失敗的原因之一。您在記錄測試時會使用應用程式的一個版本。 當您在新版本的應用程式上重複使用測試時,因為有新的按鈕或新的物件位置,播放測試時會找不到這些物件。 步驟失敗的另一個原因是自從記錄測試之後,測試中的資料已變更(例如:日期)。
在測試記錄期間會擷取物件內容,在行動式和 Web UI 資料視圖的「內容」表格中,是以唯讀模式來顯示它們。 為了在播放期間於測試中應用程式找到物件,測試工作台會比較測試期間所擷取到的物件內容,與測試編輯器的「使用者動作詳細資料」區域中顯示的內容說明。 Android、iOS 或 Web UI 應用程式的這些內容各不相同。
當您在記錄測試中選取步驟時,測試編輯器會顯示要執行動作的物件內容。 物件內容列在物件識別方式欄位中,後面接著運算子欄位及內容值的插入欄位。您可以根據圖形物件,在標準物件 ID 中尋找 內容、類別、ID、Xpath。
您可以在測試編輯器的使用者動作詳細資料區域中,或從行動式和 Web UI 資料視圖中,利用快速功能表來變更這些參數(內容、運算子、內容值)。 在測試內容清單中選取動作之後,行動式和 Web UI 資料視圖會自動同步化,以顯示所選步驟的畫面擷取。 在「畫面擷取」標籤、「元素」標籤或「內容」表格中,您可以利用快速功能表來修改內容。
如果要提高物件識別,請指定要在測試中使用的內容。有些應用程式會使用自訂屬性所說明的內容,在執行測試期間不會自動偵測到它們。為了克服這個標準行為,您可以設定自訂屬性排序清單,以便將它們識別為主要內容,並在執行測試期間使用它們。
當測試執行時,必須自動偵測到測試中的圖形物件,但在某些情況中,執行動作的元素可能會很難識別。 在此情況下,您必須更新測試 Script,提供更精確的資訊來尋找您想要執行動作的物件。
這裡有一個範例:您記錄一項測試,一個步驟是「按一下其內容是 'August 30th, 2013' 的編輯文字」。 如果測試自動播放,當日期不再是 2013 年 8 月 30 日時,測試將會失敗。您必須修改步驟,提供更精確的資訊來尋找您想要執行動作的物件。 這樣一來,在測試執行時,就可以自動找到及使用物件。 測試工作台提供多種可用來識別和尋找物件及增加測試 Script 可靠性的方法。
在測試工作台中,有多種物件位置運算子可用來識別測試中應用程式內的物件。 它們顯示在測試編輯器之使用者動作詳細資料區域的物件位置欄位中。 在測試步驟中,可以利用兩個物件位置,在測試中設定位置條件及尋找目標物件。 如需詳細資料,請參閱在測試 Script 中設定物件位置條件。
記錄測試時,以主要內容(通常是文字內容)來識別執行動作的物件。 有時不容易識別文字內容。例如,沒有內容說明或標籤可識別測試步驟中的目標元素。 在此情況下,測試產生器會使用影像內容來識別測試步驟上的元素。
為了修正可能發生的影像識別問題,測試工作台會在播放期間使用影像關聯來辨識和管理物件。 測試記錄期間會擷取執行動作的影像(參照影像),並與播放時的測試中應用程式的影像(候選影像)做比較。 使用識別臨界值來接受參照影像和候選影像之間差異率(可調整),並評估影像是否相符。 預設識別臨界值設為 80,預設容錯比例設為 20。
如果臨界值設為 0,將會選取與參照影像最相似的候選影像(即使不是同一個)。 如果將臨界值設為 100,影像稍有差異就無法辨識影像。例如,假設臨界值已設為 100,因為影像在平板裝置上播放時會重新調整寬度或高度,所以即使是同一個影像,也不會選取。 如果在不同螢幕比例的裝置上測試失敗,或播放時應用程式中可用的影像與記錄測試時可用的影像不同,您可以變更長寬比容錯。
當您在測試編輯器中設定識別臨界值時,測試工作台會顯示影像比對預覽視圖,協助您尋找播放測試時可能正確識別目標物件的影像。 最佳候選影像為綠色、評分高於臨界值的影像為黃色(不是最適當),而評分低於臨界值的影像為紅色。 這些候選影像與參照影像不符。
在測試執行完成時所顯示的測試報告中,您可以找到影像關聯詳細資料。