提高測試 Script 的強韌性

有時在播放測試時無法辨識測試中記錄的步驟,導致測試失敗或錯誤。為了避免這些物件識別失敗,您可以變更物件的識別方式、使用物件定位器條件、套用可回應的設計條件,或是新增偏好的內容清單,以便在執行測試期間使用。這樣一來,便可提高測試的強韌性,讓測試更有機會併到自動化測試程序中。

應用程式的版本更新是測試中步驟失敗的原因之一。您在記錄測試時會使用應用程式的一個版本。 當您在新版本的應用程式上重複使用測試時,因為有新的按鈕或新的物件位置,播放測試時會找不到這些物件。 步驟失敗的另一個原因是自從記錄測試之後,測試中的資料已變更(例如:日期)。

您可以依如下所示,來提高測試 Script 的健全性:

物件內容

在測試記錄期間會擷取物件內容,在行動式和 Web UI 資料視圖的「內容」表格中,是以唯讀模式來顯示它們。 為了在播放期間於測試中應用程式找到物件,測試工作台會比較測試期間所擷取到的物件內容,與測試編輯器的「使用者動作詳細資料」區域中顯示的內容說明。 Android、iOS 或 Web UI 應用程式的這些內容各不相同。

當您在記錄測試中選取步驟時,測試編輯器會顯示要執行動作的物件內容。 物件內容列在物件識別方式欄位中,後面接著運算子欄位及內容值的插入欄位。您可以根據圖形物件,在標準物件 ID 中尋找 內容類別IDXpath

圖 1. 測試編輯器、以對應的物件內容選取的步驟、運算子及內容值。
測試編輯器、以對應的物件內容選取的步驟、運算子及內容值。

您可以在測試編輯器的使用者動作詳細資料區域中,或從行動式和 Web UI 資料視圖中,利用快速功能表來變更這些參數(內容、運算子、內容值)。 在測試內容清單中選取動作之後,行動式和 Web UI 資料視圖會自動同步化,以顯示所選步驟的畫面擷取。 在「畫面擷取」標籤、「元素」標籤或「內容」表格中,您可以利用快速功能表來修改內容。

從「行動式和 Web UI 資料」視圖,您可以在「畫面擷取」標籤、「元素」標籤或「內容表」中,利用快速功能表來修改內容。
圖 2. 在「畫面擷取」標籤、「元素」標籤或「內容表」中,您可以從「行動式和 Web UI 資料」視圖,利用快速功能表來修改內容。
如需詳細資料,請參閱修改測試 Script 中用來識別物件的內容

如果要提高物件識別,請指定要在測試中使用的內容。有些應用程式會使用自訂屬性所說明的內容,在執行測試期間不會自動偵測到它們。為了克服這個標準行為,您可以設定自訂屬性排序清單,以便將它們識別為主要內容,並在執行測試期間使用它們。

測試中的物件位置

當測試執行時,必須自動偵測到測試中的圖形物件,但在某些情況中,執行動作的元素可能會很難識別。 在此情況下,您必須更新測試 Script,提供更精確的資訊來尋找您想要執行動作的物件。

這裡有一個範例:您記錄一項測試,一個步驟是「按一下其內容是 'August 30th, 2013' 的編輯文字」。 如果測試自動播放,當日期不再是 2013 年 8 月 30 日時,測試將會失敗。您必須修改步驟,提供更精確的資訊來尋找您想要執行動作的物件。 這樣一來,在測試執行時,就可以自動找到及使用物件。 測試工作台提供多種可用來識別和尋找物件及增加測試 Script 可靠性的方法。

測試工作台中,有多種物件位置運算子可用來識別測試中應用程式內的物件。 它們顯示在測試編輯器之使用者動作詳細資料區域的物件位置欄位中。 在測試步驟中,可以利用兩個物件位置,在測試中設定位置條件及尋找目標物件。 如需詳細資料,請參閱在測試 Script 中設定物件位置條件

圖 3. 含有位置運算子清單的物件位置欄位(適用於範例中的 Android 應用程式)
物件定位器和次要位置欄位,已開啟次要位置運算子清單(適用於這裡的 Android 應用程式)

測試中的影像辨識

記錄測試時,以主要內容(通常是文字內容)來識別執行動作的物件。 有時不容易識別文字內容。例如,沒有內容說明或標籤可識別測試步驟中的目標元素。 在此情況下,測試產生器會使用影像內容來識別測試步驟上的元素。

為了修正可能發生的影像識別問題,測試工作台會在播放期間使用影像關聯來辨識和管理物件。 測試記錄期間會擷取執行動作的影像(參照影像),並與播放時的測試中應用程式的影像(候選影像)做比較。 使用識別臨界值來接受參照影像和候選影像之間差異率(可調整),並評估影像是否相符。 預設識別臨界值設為 80,預設容錯比例設為 20。

以下是一些使用影像關聯的測試情境範例:
  • 您在行動電話上記錄測試,然後在桌面上播放。因為影像寬度和高度會隨著不同裝置而改變,在螢幕比例不同的裝置上,測試播放會失敗。
  • 播放測試時,記錄中的某些目標物件不再相同。範例:在安全應用程式中使用虛擬鍵盤時,數字按鈕的位置會隨著伺服器階段作業不同而改變。
在某些情況下,受測試的應用程式可能包含測試工作台找不到的物件。
註: 從 9.1.1 起,可以辨識自訂圖形物件。在已編輯的測試中,會將自訂物件識別為一個自訂元素圖形物件,並在測試 Script 中指定 name1-name2 說明 測試 Script 中的自訂物件說明
在其他情況下,選取的影像不適當,測試會失敗。 如果播放時發生識別問題,您可以修改測試步驟中用於識別目標物件的影像,或是在編輯的測試中變更臨界值評分和容錯比例。
註: 驗證點中可以使用影像,作為測試中的目標物件上的控制項。例如,您可以驗證螢幕上的下拉清單位置。 如需詳細資料,請參閱 從「行動式和 Web UI 資料」視圖建立驗證點

如果臨界值設為 0,將會選取與參照影像最相似的候選影像(即使不是同一個)。 如果將臨界值設為 100,影像稍有差異就無法辨識影像。例如,假設臨界值已設為 100,因為影像在平板裝置上播放時會重新調整寬度或高度,所以即使是同一個影像,也不會選取。 如果在不同螢幕比例的裝置上測試失敗,或播放時應用程式中可用的影像與記錄測試時可用的影像不同,您可以變更長寬比容錯。

當您在測試編輯器中設定識別臨界值時,測試工作台會顯示影像比對預覽視圖,協助您尋找播放測試時可能正確識別目標物件的影像。 最佳候選影像為綠色、評分高於臨界值的影像為黃色(不是最適當),而評分低於臨界值的影像為紅色。 這些候選影像與參照影像不符。

在測試執行完成時所顯示的測試報告中,您可以找到影像關聯詳細資料。


意見