使用自動程式碼 UI 測試編輯器,編輯自動程式碼 UI 測試
[自動程式碼 UI 測試編輯器] 可讓您輕鬆地修改自動程式碼 UI 測試。使用 [自動程式碼 UI 測試編輯器],您可以尋找、檢視和編輯測試方法和UI 動作的屬性。此外,您也可以使用 UI 控制項對應來檢視和編輯其對應的控制項。
需求
- Visual Studio Ultimate, Visual Studio Premium
我為何應進行?
使用 [自動程式碼 UI 測試編輯器] 比使用 [程式碼編輯器] 來編輯自動程式碼 UI 測試方法程式碼更快速、更有效率。使用[自動程式碼 UI 測試編輯器],您可以用工具列和捷徑功能表來快速尋找及修改屬性值與 UI 動作和控制項。例如,您可以使用 [自動程式碼 UI 測試編輯器] 工具列來執行下列命令:
[尋找] 有助於尋找 UI 動作和控制項。
刪除會移除不必要的 UI 動作。
[重新命名] 會變更測試方法和控制項的名稱。
[屬性] 會開啟所選取項目的 [屬性] 視窗
分割為新方法可讓您模組化 UI 動作。
移動程式碼會將自訂程式碼加入至測試方法。
將延遲插入於下列之前會在 UI 動作前面加入以毫秒為單位的暫停。
尋找 UI 控制項會識別受測應用程式 UI 中控制項的位置。
尋找全部有助於驗證控制項屬性和應用程式控制項的重大變更。
我要怎麼做?
在 Visual Studio 2012,開啟與自動程式碼 UI 測試專案的自動程式碼 UI 測試相關的 UIMap.uitest 檔案會自動在[自動程式碼 UI 測試編輯器] 中顯示自動程式碼 UI 測試。下列程序描述如何使用編輯器的工具列和捷徑功能表來找出和編輯測試方和 UI 動作和控制項的屬性。
開啟自動程式碼 UI 測試
使用 [自動程式碼 UI 測試編輯器],您可以檢視和編輯您的 Visual C# 及 Visual Basic 的基本自動程式碼 UI 測試。
在 [方案總管] 中,開啟 [UIMap.uitest] 的捷徑功能表並選取 [開啟]。此自動程式碼 UI 測試隨即在 [自動程式碼 UI 測試編輯器] 中顯示。您現在可以檢視及編輯記錄的方法、動作,以及自動程式碼 UI 測試中對應的控制項。
提示 |
---|
在 [UI 動作] 窗格中選取位於方法中的 UI 動作時,對應的控制項會反白顯示。也可以修改 UI 動作或控制項屬性。 |
- I don't see自動程式碼 UI 測試編輯器
您可以使用 Visual Studio Ultimate 或 Visual Studio Premium 2012 年之前的版本。自動程式碼 UI 測試編輯器也可從 Visual Studio 2010 以及 MSDN 訂閱的功能套件 2中獲得。如需詳細資訊,請參閱 Microsoft Visual Studio 2010 Feature Pack 2
修改 UI 動作屬性及其對應控制項屬性
使用 [自動程式碼 UI 測試編輯器],在測試方法中您可以更快速地找到並檢視所有 UI 動作。在編輯器中選取 UI 動作時,關聯的控制項會自動反白顯示。同樣地,如果您選取控制項,關聯的 UI 動作也會反白顯示。當您選取 UI 動作或控制項時,[屬性] 視窗會更容易用來修改關聯的屬性。
編輯 UI 動作屬性
若要修改 UI 動作的屬性,在 [UI 動作] 窗格中,展開包含欲編輯屬性的UI 動作的測試方法,在 [屬性] 視窗中,選取 UI 動作,然後修改屬性。
例如,如果伺服器無法使用,而且與網頁瀏覽器關聯的 UI 動作指定 [移至網頁 'http://Contoso1/default.aspx'],您可以將 URL 變更為 'http://Contoso2/default.aspx'。
編輯控制項屬性
修改控制項的屬性 (Property) 與修改 UI 動作屬性的方式相同。在 [UI 控制項對應] 窗格中,選取您要編輯的控制項並在[屬性視窗]修改其屬性。
例如,開發人員可能已將受測應用程式的原始程式碼中按鈕控制項的 (ID) 屬性從 “idSubmit” 變更為 “idLogin”。當應用程式中的 (ID) 屬性變更時,自動程式碼 UI 測試將找不到此按鈕控制項,因而失敗。在此情況下,測試人員可以開啟 [搜尋屬性] 集合,變更 Id 屬性以符合開發人員用於應用程式的新值。測試人員也可以將 [易記名稱] 屬性值從 [送出] 變更為 [登入]。透過此變更,[自動程式碼 UI 測試編輯器] 中關聯的 UI 動作就會從 [選擇 [送出] 按鈕] 更新為 [選擇 [登入] 按鈕]。
在完成修改之後,請點選Visual Studio工具列上的 [儲存] ,以將變更儲存至 UIMap.Designer 檔案中。
What else should I know?
秘訣若[屬性] 視窗沒有顯示,當您按 [輸入] 或 [F4] 按鈕時按住 [Alt]鍵 。
若要復原所做的屬性變更,請選取 [編輯] 功能表中的 [復原],或按 Ctrl+Z。
在Visual Studio中,您可以在[自動程式碼 UI 測試編輯器] 工具列使用 [尋找] 按鈕開啟 [尋找和取代工具]。接著,您可以在[自動程式碼 UI 測試編輯器] 工具列中使用 [尋找控制] 按鈕來尋找UI動作。例如,您可以嘗試尋找 [按一下 [登入] 按鈕]。在大型測試中,這會很實用。請注意在[自動程式碼 UI 測試編輯器] 中無法使用[尋找與取代工具]來取代任何功能。如需更多資訊,請參閱尋找和取代文字中的<尋找控制項>。
有時難以想像控制項在受測應用程式 UI 中的位置。[自動程式碼 UI 測試編輯器] 的功能之一是,您可以選取列在 UI 控制項對應中的控制項,檢視控制項在受測應用程式中的位置。如需詳細資訊,請參閱在受測應用程式中尋找 UI 控制項 在此主題中尋找更多相關訊息。
可能需要展開包含要編輯之控制項的容器控制項。如需詳細資訊,請參閱找出控制項及其子系 在此主題中尋找更多相關訊息。
刪除不必要的 UI 動作。
您可以輕鬆地移除在自動程式碼 UI 測試中的 UI 動作。
在 [UI 動作] 窗格中,展開包含要刪除之 UI 動作的測試方法。開啟 UI 動作的捷徑功能表並選取 [刪除]。
將測試方法分割為兩個不同的方法
您可以分割測試方法來修改或模組化 UI 動作。例如,測試可能在兩個容器控制項中有使用 UI 動作的單一測試方法。在模組化不同容器中的兩種方法時,UI 動作是較好的選擇。
在 [UI 動作] 窗格中,展開您要分割為兩個不同方法的測試方法,並且選取新的測試方法開始的UI動作。開啟 UI 動作的捷徑功能表並選取 [分割為新方法],或是在[自動程式碼 UI 測試編輯器] 工具列上的 [分割為新方法] 按鈕。新的測試方法就會出現在 [UI 動作] 窗格中。它包含了您指定分割的UI開始動作。
在執行分割方法之後,請選取 Visual Studio 工具列上的 [儲存] 以儲存變更至 UIMap.Designer 檔案中。
What else should I know?
重要問題。- 警告: 若想分割方法且欲包含 UI 動作,您必須修改程式碼中任何呼叫現有方法也會呼叫將建立的新方法。當您分割方法時, Microsoft Visual Studio 對話方塊隨即顯示。它會警告您必須修改呼叫現有方法的任何程式碼,使其也呼叫即將建立的新方法。選擇 [是]。
秘訣
若要復原分割動作,請選取 [編輯] 功能表中的 [復原],或按 Ctrl+Z。
您可以重新命名新方法。在 [UI 動作] 窗格中選取它,然後點選 [自動程式碼 UI 測試編輯器] 工具列上的 [重新命名] 按鈕。
-或-
開啟新測試方法的捷徑功能表並選取 [重新命名]。
Microsoft Visual Studio 對話方塊隨即顯示。它會警告您必須修改參考方法的任何程式碼。選擇 [是]。
將測試方法移至 UIMap 檔案以促進自訂
如果您決定在自動程式碼 UI 測試中的某一個測試方法需要自訂程式碼,您必須將它移至 UIMap.cs 或 UIMap.vb 檔案。否則,每當自動程式碼 UI 測試重新編譯時您的程式碼會被覆寫。如果未移動方法,每次重新編譯測試時都會覆寫自訂程式碼。
在 [UI 動作] 窗格中,選取要移至 UIMap.cs 或 UIMap.vb 檔案的測試方法,以促進自訂程式碼功能,這樣一來,當測試程式碼重新編譯時,就不會覆寫自訂程式碼。接下來,請在 [自動程式碼 UI 測試編輯器] 工具列上的 [移動程式碼] 按鈕,或開啟測試方法的捷徑功能表並選取 [移動程式碼]。測試方法就會從 UIMap.uitest 檔案移除,不再顯示在 [UI 動作] 窗格中。若要編輯移動的測試檔案,請從 [方案總管] 開啟 UIMap.cs 或 UIMap.vb 檔案。
在執行移動方法之後,請選取 Visual Studio 工具列上的 [儲存] 以儲存變更至 UIMap.Designer 檔案中。
What else should I know?
重要問題。- **警告:**一旦移動方法,便無法使用 [自動程式碼 UI 測試編輯器] 來編輯方法。您必須使用 [程式碼編輯器] 加入及維護自訂程式碼。當您移動方法時, Microsoft Visual Studio 對話方塊隨即顯示。它會警告此方法將從 UIMap.uitest 檔案移至 UIMap.cs 或 UIMap.vb 檔案,而且您將無法再使用 [自動程式碼 UI 測試編輯器] 編輯此方法。選擇 [是]。
秘訣
- 若要復原移動動作,請選取 [編輯] 功能表中的 [復原],或按 Ctrl+Z。不過,接著您必須手動從 UIMap.cs 或 UIMap.vb 檔案移除程式碼。
在受測應用程式中尋找 UI 控制項
有時難以想像控制項在受測應用程式 UI 中的位置。[自動程式碼 UI 測試編輯器] 的功能之一是,您可以選取列在 UI 控制項對應中的控制項,檢視控制項在受測應用程式中的位置。在受測應用程式上使用 [尋找 UI 控制項],這項功能還可以用來驗證對控制項所做的搜尋屬性修改。
在 [UI 控制項對應] 窗格中,選取要在與測試相關聯之應用程式中尋找的控制項。接著,請開啟控制項的捷徑功能表並選取 [尋找 UI 控制項]。在受測應用程式中,控制項是以藍色框線表示。
What else should I know?
重要問題。- 警告: 在您尋找 UI 控制項之前,確認應用程式與測試正在執行。
秘訣
- 或者,您可以使用 [尋找全部] 選項,確認容器下的所有控制項都已正確定位。這些選項將會在下一節中說明。
找出控制項及其子系
您可以確認容器下的所有控制項在受測應用程式 UI 中都已正確定位。這有助於確認您對容器所做的搜尋屬性變更。此外,如果受測應用程式 UI 中有重大變更,您可以驗證現有的控制項搜尋屬性仍然正確。
在 [UI 控制項對應] 窗格中,選取要尋找並檢視其所有子系的容器控制項。接著,請開啟控制項的捷徑功能表並選取 [尋找全部]。在 [自動程式碼 UI 測試編輯器] 中,容器控制項及其所有子系控制項會標記著綠色核取記號或紅色 'X'。這些記號可讓您知道控制項是否在受測應用程式中成功找到。
What else should I know?
重要問題。- 警告: 在尋找 UI 控制項之前,確認應用程式與測試正在執行。
在 UI 動作前面插入延遲
有時您可能想要測試等候系統發生特定事件,例如視窗顯示、進度列消失等等。使用 [自動程式碼 UI 測試編輯器],您可以在 UI 動作前面插入延遲,藉以達成此目的。您可以指定延遲秒數。
在 [UI 動作] 窗格中,展開包含要在前面插入延遲之 UI 動作的測試方法。選取 UI 動作。接著,請開啟 UI 動作的捷徑功能表並選取 [在前面插入延遲]。延遲就會在選取的 UI 動作前面插入並反白顯示,並顯示下列文字:動作之間等候 1 秒的使用者延遲。在 [屬性] 視窗中,將 Delay 屬性的值變更為所需的毫秒數。
插入延遲之後,請選取 Visual Studio 工具列上的 [儲存] 以儲存變更至 UIMap.Designer 檔案中。
What else should I know?
備註- 如果您需要確定在 UI 動作前面特定控制項可供使用,應該考慮使用適當的 UITestControl.WaitForControlXXX() 方法,將自訂程式碼加入至測試方法。如需詳細資訊,請參閱讓自動程式碼 UI 測試在播放期間等候特定事件.
秘訣
- 若[屬性] 視窗沒有顯示,當您按 [輸入] 或 [F4] 按鈕時按住 [Alt]鍵 。
外部資源
指引
使用 Visual Studio 2012 測試持續傳遞 – 第 2 章:單元測試:測試內部
常見問題集
論壇
Visual Studio UI 自動化測試 (包括 CodedUI)