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