逐步解說:為 Silverlight 應用程式建立、編輯和維護自動程式碼 UI 測試

您可以透過 Microsoft Microsoft Visual Studio 2010 功能套件 2,針對 Silverlight 4 應用程式建立自動程式碼 UI 測試或動作記錄。 動作記錄可讓您向前快轉手動測試的步驟。 如需動作記錄或自動程式碼 UI 測試的詳細資訊,請參閱 HOW TO:建立動作記錄HOW TO:建立自動程式碼 UI 測試

在這個逐步解說中,您將了解測試 Silverlight 架構應用程式中之 Silverlight 控制項所需的程序。 這個逐步解說引導您執行下列程序:

  • 準備進行逐步解說:確認已安裝 Silverlight Developer 執行階段,而且建立簡單 Silverlight 應用程式,其使用可執行自動程式碼 UI 測試的 Silverlight 方格控制項。 您將依照逐步解說:建立 RIA Services 方案中的步驟進行。

  • 將 Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll 加入至 Silverlight 專案。

  • 建立自動程式碼 UI 測試:針對 Silverlight 應用程式建立自動程式碼 UI 測試。

  • 執行自動程式碼 UI 測試:確認自動程式碼 UI 測試在 Silverlight 應用程式上正常運作。

必要條件

在本逐步解說中,您將會需要:

準備進行逐步解說

若要準備逐步解說

  1. 確認已從 Silverlight Developer 4 for Developers 下載 Silverlight 4 Developer 執行階段。

  2. 確認已完成逐步解說:建立 RIA Services 方案中的程序。

    結果是使用 Silverlight 方格控制項的簡單 Silverlight 應用程式。 稍後您將在本逐步解說中使用方格控制項並對它執行自動程式碼 UI 測試。

    秘訣秘訣

    如需詳細資訊以進一步了解支援和不支援的 Silverlight 控制項,請參閱 HOW TO:設定用於測試的 Silverlight 應用程式

    注意事項注意事項

    逐步解說:建立 RIA Services 方案會安裝 WCF RIA Services for Visual Studio 2010 (英文) 和 AdventureWorksLT 範例資料庫 (英文)。

  3. 逐步解說:建立 RIA Services 方案中建立的 RIAServicesExample 執行時,將 Web 應用程式位址複製到剪貼簿或記事本檔案。 例如,此位址可能與下例類似:https://localhost: <連接埠號碼>/RIAServicesExampleTestPage.aspx。

將 SilverlightUIAutomationHelper.dll 加入至 Silverlight 4 專案

若要測試 Silverlight 應用程式,您必須將 Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll 當做參考加入至 Silverlight 4 應用程式,以便於識別 Silverlight 控制項。 這個 Helper 組件會對 Silverlight 應用程式進行檢測,將控制項相關資訊提供給自動程式碼 UI 測試或動作記錄中所用的 Silverlight 外掛程式 API。這個組件不可轉散發。 因此,當您要建置應用程式時,必須條件式加入這個參考。 透過這個作法,當您為客戶部署軟體時,便不會轉散發組件。

若要加入 SilverlightUIAutomationHelper.dll

  1. 針對方案中每個要測試的 Silverlight 專案,您都必須加入 SilverlightUIAutomationHelper.dll。 在 [方案總管] 中,以滑鼠右鍵按一下 RIAServicesExample 專案,選取 [卸載專案]。

    專案隨即在 [方案總管] 中顯示為 [RIAServicesExample (無法使用)]。

  2. 再次以滑鼠右鍵按一下專案,然後按一下 [編輯 RIAServicesExample.csproj]。

    RIAServicesExample.csproj 檔案就會在 [程式碼編輯器] 中開啟。 您會看到後面接著 <ItemGroup> 節點的 <PropertyGroup> 節點。 您必須進行下列兩項修改:

    1. 若要設定實際執行條件,將下列項目加入至第一個 <PropertyGroup> 節點:

      <Production Condition="'$(Production)'==''">False</Production>
      
    2. 若要在組建不是實際執行組建時加入 DLL,請將下列 <Choose> 節點插入至 <PropertyGroup> 節點後面,但在 <ItemGroup> 節點前面:

      <Choose>
         <When Condition=" '$(Production)'=='False' ">
               <ItemGroup>
                 <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper">
                 </Reference>
               </ItemGroup>
             </When>
       </Choose>
      
  3. 若要儲存檔案,按一下 [儲存]。

  4. 若要重新載入這些變更,以滑鼠右鍵按一下伺服器專案,然後按一下 [重新載入專案]。

    警告

    如果您有多個要測試的 Silverlight 專案,必須針對每個專案執行這些步驟。

    重要事項重要事項

    若要移除 SilverlightUIAutomationHelper.dll,讓它不會隨著實際執行程式碼轉散發,請將第一個 <PropertyGroup> 節點中的實際執行條件值設定為 true。 這樣一來,上一個程序中加入至專案的 Choose 節點便不會再加入 DLL 做為參考。 您也可以將名為 Production 的環境變數指定為 True。 接著您可以使用 msbuild,來建置 Silverlight 專案及移除 SilverlightUIAutomationHelper.dll。

針對 RIAServicesExample Silverlight 應用程式建立自動程式碼 UI 測試

若要建立自動程式碼 UI 測試

  1. 在 [方案總管] 中,以滑鼠右鍵按一下方案、按一下 [加入],然後選取 [新增專案]。

    [加入新的專案] 對話方塊隨即出現。

  2. 在 [已安裝的範本] 窗格中,展開 [Visual C#] 或 [Visual Basic],然後選取 [測試]。

  3. 在中間窗格中選取 [測試專案] 範本。

  4. 按一下 [確定]。

    在 [方案總管] 中,名為 TestProject1 的新測試專案會加入至您的方案。 UnitTest1.cs 或 UnitTest1.vb 檔案會出現在程式碼編輯器中。 您可以關閉 UnitTest1 檔案,因為本逐步解說不使用這個檔案。

  5. 在 [方案總管] 中,以滑鼠右鍵按一下 [TestProject1],然後按一下 [加入],再選取 [自動程式碼 UI 測試]。

    [產生自動程式碼 UI 測試的程式碼] 對話方塊隨即出現。

  6. 選取 [錄製動作、編輯 UI 對應或加入判斷提示] 選項,然後按一下 [確定]。

    [UIMap - 自動程式碼 UI 測試產生器] 隨即出現。

    如需對話方塊之選項的詳細資訊,請參閱 HOW TO:建立自動程式碼 UI 測試

  7. 按一下 [UIMap - 自動程式碼 UI 測試產生器] 上的 [開始錄製]。 [自動程式碼 UI 測試產生器] 在幾秒後會準備就緒。

    開始錄製 UI

  8. 啟動 Internet Explorer。

  9. 在 Internet Explorer 的網址列中,輸入您在先前程序中複製的 Web 應用程式位址。 例如:

    https://localhost: <連接埠號碼>/RIAServicesExampleTestPage.aspx

  10. 按一下一個或兩個資料行標頭以排序資料。

  11. 關閉 Internet Explorer。

  12. 按一下 [UIMap - 自動程式碼 UI 測試產生器] 上的 [產生程式碼]。

  13. 在 [方法名稱] 中輸入 SimpleSilverlightAppTest,然後按一下 [加入和產生]。 自動程式碼 UI 測試在幾秒後會出現並加入至方案。

  14. 關閉 [UIMap - 自動程式碼 UI 測試產生器]。

    CodedUITest1.cs 檔案隨即出現在 [程式碼編輯器] 中。

    注意事項注意事項

    您可以根據應用程式中的 Silverlight 控制項型別來指派唯一的自動化屬性。 如需詳細資訊,請參閱 為用於測試的 Silverlight 控制項設定唯一自動化屬性.

在 RIAServicesExample Silverlight 應用程式上執行自動程式碼 UI 測試

若要執行自動程式碼 UI 測試

  • 選取 [測試] 功能表上的 [視窗],然後按一下 [測試檢視]。在 [測試檢視] 中,選取 [測試名稱] 資料行底下的 [CodedUITestMethod1],然後按一下工具列中的 [執行選取範圍]。

    使用 Silverlight 資料格控制項的自動程式碼 UI 測試應該會執行成功。

請參閱

參考

Microsoft.VisualStudio.TestTools.UITesting.SilverlightControls

Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight

概念

使用自動化 UI 測試進行使用者介面測試

其他資源

HOW TO:設定用於測試的 Silverlight 應用程式

為用於測試的 Silverlight 控制項設定唯一自動化屬性

使用自動程式碼 UI 測試或動作記錄,測試 Silverlight 應用程式

使用自動程式碼 UI 測試編輯器,編輯自動程式碼 UI 測試