逐步解說:為 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 應用程式上正常運作。
必要條件
在本逐步解說中,您將會需要:
Visual Studio 2010 Ultimate、Visual Studio 2010 Premium 或 Test Professional 2010。
完成逐步解說:建立 RIA Services 方案中的程序。
準備進行逐步解說
若要準備逐步解說
確認已從 Silverlight Developer 4 for Developers 下載 Silverlight 4 Developer 執行階段。
確認已完成逐步解說:建立 RIA Services 方案中的程序。
結果是使用 Silverlight 方格控制項的簡單 Silverlight 應用程式。 稍後您將在本逐步解說中使用方格控制項並對它執行自動程式碼 UI 測試。
秘訣 如需詳細資訊以進一步了解支援和不支援的 Silverlight 控制項,請參閱 HOW TO:設定用於測試的 Silverlight 應用程式。
注意事項 逐步解說:建立 RIA Services 方案會安裝 WCF RIA Services for Visual Studio 2010 (英文) 和 AdventureWorksLT 範例資料庫 (英文)。
當逐步解說:建立 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
針對方案中每個要測試的 Silverlight 專案,您都必須加入 SilverlightUIAutomationHelper.dll。 在 [方案總管] 中,以滑鼠右鍵按一下 RIAServicesExample 專案,選取 [卸載專案]。
專案隨即在 [方案總管] 中顯示為 [RIAServicesExample (無法使用)]。
再次以滑鼠右鍵按一下專案,然後按一下 [編輯 RIAServicesExample.csproj]。
RIAServicesExample.csproj 檔案就會在 [程式碼編輯器] 中開啟。 您會看到後面接著 <ItemGroup> 節點的 <PropertyGroup> 節點。 您必須進行下列兩項修改:
若要設定實際執行條件,將下列項目加入至第一個 <PropertyGroup> 節點:
<Production Condition="'$(Production)'==''">False</Production>
若要在組建不是實際執行組建時加入 DLL,請將下列 <Choose> 節點插入至 <PropertyGroup> 節點後面,但在 <ItemGroup> 節點前面:
<Choose> <When Condition=" '$(Production)'=='False' "> <ItemGroup> <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper"> </Reference> </ItemGroup> </When> </Choose>
若要儲存檔案,按一下 [儲存]。
若要重新載入這些變更,以滑鼠右鍵按一下伺服器專案,然後按一下 [重新載入專案]。
警告
如果您有多個要測試的 Silverlight 專案,必須針對每個專案執行這些步驟。
重要事項 若要移除 SilverlightUIAutomationHelper.dll,讓它不會隨著實際執行程式碼轉散發,請將第一個 <PropertyGroup> 節點中的實際執行條件值設定為 true。 這樣一來,上一個程序中加入至專案的 Choose 節點便不會再加入 DLL 做為參考。 您也可以將名為 Production 的環境變數指定為 True。 接著您可以使用 msbuild,來建置 Silverlight 專案及移除 SilverlightUIAutomationHelper.dll。
針對 RIAServicesExample Silverlight 應用程式建立自動程式碼 UI 測試
若要建立自動程式碼 UI 測試
在 [方案總管] 中,以滑鼠右鍵按一下方案、按一下 [加入],然後選取 [新增專案]。
[加入新的專案] 對話方塊隨即出現。
在 [已安裝的範本] 窗格中,展開 [Visual C#] 或 [Visual Basic],然後選取 [測試]。
在中間窗格中選取 [測試專案] 範本。
按一下 [確定]。
在 [方案總管] 中,名為 TestProject1 的新測試專案會加入至您的方案。 UnitTest1.cs 或 UnitTest1.vb 檔案會出現在程式碼編輯器中。 您可以關閉 UnitTest1 檔案,因為本逐步解說不使用這個檔案。
在 [方案總管] 中,以滑鼠右鍵按一下 [TestProject1],然後按一下 [加入],再選取 [自動程式碼 UI 測試]。
[產生自動程式碼 UI 測試的程式碼] 對話方塊隨即出現。
選取 [錄製動作、編輯 UI 對應或加入判斷提示] 選項,然後按一下 [確定]。
[UIMap - 自動程式碼 UI 測試產生器] 隨即出現。
如需對話方塊之選項的詳細資訊,請參閱 HOW TO:建立自動程式碼 UI 測試。
按一下 [UIMap - 自動程式碼 UI 測試產生器] 上的 [開始錄製]。 [自動程式碼 UI 測試產生器] 在幾秒後會準備就緒。
啟動 Internet Explorer。
在 Internet Explorer 的網址列中,輸入您在先前程序中複製的 Web 應用程式位址。 例如:
https://localhost: <連接埠號碼>/RIAServicesExampleTestPage.aspx
按一下一個或兩個資料行標頭以排序資料。
關閉 Internet Explorer。
按一下 [UIMap - 自動程式碼 UI 測試產生器] 上的 [產生程式碼]。
在 [方法名稱] 中輸入 SimpleSilverlightAppTest,然後按一下 [加入和產生]。 自動程式碼 UI 測試在幾秒後會出現並加入至方案。
關閉 [UIMap - 自動程式碼 UI 測試產生器]。
CodedUITest1.cs 檔案隨即出現在 [程式碼編輯器] 中。
注意事項 您可以根據應用程式中的 Silverlight 控制項型別來指派唯一的自動化屬性。 如需詳細資訊,請參閱 為用於測試的 Silverlight 控制項設定唯一自動化屬性.
在 RIAServicesExample Silverlight 應用程式上執行自動程式碼 UI 測試
若要執行自動程式碼 UI 測試
選取 [測試] 功能表上的 [視窗],然後按一下 [測試檢視]。在 [測試檢視] 中,選取 [測試名稱] 資料行底下的 [CodedUITestMethod1],然後按一下工具列中的 [執行選取範圍]。
使用 Silverlight 資料格控制項的自動程式碼 UI 測試應該會執行成功。
請參閱
參考
Microsoft.VisualStudio.TestTools.UITesting.SilverlightControls
Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight
概念
其他資源
HOW TO:設定用於測試的 Silverlight 應用程式
為用於測試的 Silverlight 控制項設定唯一自動化屬性