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

您可以在 Visual Studio 2010 Ultimate 或 Visual Studio 2010 Premium 中使用自動程式碼 UI 測試,建立 Silverlight 4 應用程式的自動化測試。 您也可以使用 Microsoft 測試管理員,針對 Silverlight 4 應用程式的手動測試建立動作記錄。

重要事項重要事項

只支援裝載於 Internet Explorer 視窗的 Silverlight 4 應用程式。 不支援裝載於不同瀏覽器或未裝載於瀏覽器的 Silverlight 4 應用程式。

若要將 Silverlight 4 應用程式設定為能夠建立自動程式碼 UI 測試或動作記錄,您必須執行下列主要工作:

  1. 將 Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll 當做參考加入至方案中的每個 Silverlight 4 專案,以便於識別 Silverlight 控制項。

  2. 確認每個 Silverlight 控制項都有唯一的識別屬性。

    注意事項注意事項

    若要為不同控制項設定此屬性,請參閱為用於測試的 Silverlight 控制項設定唯一自動化屬性

  3. 建置和部署應用程式。

警告

SilverlightUIAutomationHelper.dll 不可做為您應用程式的一部分來轉散發。 當您將這個 DLL 加入至 Silverlight 專案時,必須加入它以條件式編譯應用程式 (無論是否具有這個 DLL),如下列程序所示。 您可以建立具有此 DLL 的組建,只做為測試之用。 這樣一來,便不會轉散發 DLL。

支援的控制項

動作記錄和自動程式碼 UI 測試支援下列控制項:

  • 支援隨附於 Microsoft Silverlight 4 Tools for Visual Studio 2010 的標準控制項。

  • 支援衍生自 Microsoft Silverlight 4 Tools 標準控制項的自訂控制項。

  • 繼承自 System.Windows.Controls.Control 的自訂控制項。 視您自訂這些控制項的方式,對某些動作的支援可能有限。 此外,可能無法取得某些屬性值以供驗證。

不支援的控制項

動作記錄和自動程式碼 UI 測試不支援下列控制項:

  • 不是衍生自 Microsoft Silverlight 4 Tools for Visual Studio 2010 隨附之控制項的自訂控制項。

  • 可能不支援協力廠商控制項,視控制項的建立方式而定。

警告

您可以建立自訂外掛程式,以支援自訂控制項測試。 如需示範如何建立自訂外掛程式的範例,請參閱擴充自動程式碼 UI 測試和動作記錄以支援 Microsoft Excel

使用下列程序加入或移除 SilverlightUIAutomationHelper.dll:

  • 將 SilverlightUIAutomationHelper.dll 加入至 Silverlight 4 專案

  • 從 Silverlight 4 專案移除 SilverlightUIAutomationHelper.dll

若要測試每個 Silverlight 控制項的唯一識別屬性,請參閱下列主題:為用於測試的 Silverlight 控制項設定唯一自動化屬性

若要將 SilverlightUIAutomationHelper.dll 加入至 Silverlight 4 專案

  1. 若要開啟包含任何一個 Silverlight 專案的方案,請按一下 [檔案],指向 [開啟]。 按一下 [專案/方案]。

    [開啟專案] 對話方塊隨即顯示。

  2. 選取您的方案,然後按一下 [開啟]。

  3. 針對方案中每個要測試的 Silverlight 專案,您都必須加入 SilverlightUIAutomationHelper.dll。 若要這樣做,以滑鼠右鍵按一下專案,然後按一下 [卸載專案]。

  4. 以滑鼠右鍵按一下卸載的專案,然後按一下 [編輯 <專案名稱>]。

    您會看到後面接著 ItemGroup 節點的 PropertyGroup 節點。

  5. 若要設定用來條件式加入 SilverlightUIAutomationHelper.dll 的實際執行條件,您必須進行下列兩項修改:

    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>
      
  6. 若要儲存檔案,按一下 [儲存]。

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

    警告

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

若要從 Silverlight 4 專案移除 SilverlightUIAutomationHelper.dll

  • 若要移除 SilverlightUIAutomationHelper.dll,讓它不會隨著實際執行程式碼轉散發,請將第一個 <PropertyGroup> 節點中的實際執行條件值設定為 true:

    <Production Condition="'$(Production)'==''">True</Production>
    

    這樣一來,上一個程序中加入至專案的 Choose 節點便不會再加入 DLL 做為參考。

    注意事項注意事項

    您也可以將名為 Production 的環境變數指定為 True。 接著您可以使用 msbuild,來建置 Silverlight 專案及移除 SilverlightUIAutomationHelper.dll。

請參閱

概念

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

其他資源

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

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