如何:通过录制受测应用程序来生成编码的 UI 测试

更新:2010 年 12 月

录制用户界面元素是创建编码的 UI 测试的有效方法。

通过录制受测应用程序来生成编码的 UI 测试

通过录制受测应用程序来生成编码的 UI 测试

  1. 在**“解决方案资源管理器”中,右击测试项目,指向“添加”,然后单击“编码的 UI 测试”**。

    - 或 -

    在**“测试视图”窗口中右击窗口图面,然后单击“新建测试”。 在“添加新测试”对话框中单击“编码的 UI 测试”,再单击“确定”**。

    - 或 -

    在**“测试”菜单上,单击“新建测试”。 在“添加新测试”对话框中单击“编码的 UI 测试”,再单击“确定”**。

    此时将出现**“新建测试项目”**对话框。

  2. 键入新的编码的 UI 测试的名称,然后单击**“创建”**。

  3. 单击**“录制操作、编辑 UI 映射或添加断言”**。

    将出现**“编码的 UI 测试生成器”**对话框。

  4. 若要开始录制,请单击**“录制”**图标。 执行要在应用程序中录制的操作,必要时还包括启动应用程序。

    提示

    通过安装 Microsoft Visual Studio 2010 功能包 2,可以使用 Windows Internet Explorer 7(或更高版本)记录网站或 Web 应用程序的 UI 操作,然后使用 Mozilla Firefox 浏览器版本 3.5 或 3.6 播放测试。 若要下载该功能包,您必须拥有带 MSDN 订阅、Microsoft BizSpark 或 MSDN Academic Alliance 的 Visual Studio 2010 旗舰版、Visual Studio 2010 高级专业版或专业测试工具版 2010。 有关更多信息,请参见 使用 Windows Internet Explorer 录制测试,使用 Mozilla Firefox 播放Microsoft Visual Studio 2010 功能包 2

  5. 若要查看这些操作,请单击**“显示录制的步骤”**图标

    这些操作显示在**“编码的 UI 测试生成器 - 录制的操作”**对话框中。

    提示

    如果不希望录制启动受测应用程序的操作,则必须在单击“录制”图标之前启动应用程序。

  6. 若要结束录制,请单击**“生成代码”图标。 在“方法名”中键入编码的 UI 测试方法的名称,然后单击“添加并生成”**。

    这将生成如下代码,其中假定输入的名称为 AddTwoNumbers:

    • 将控件添加到您的 UI 映射 (UIMap.uitest)

    • 将名为 AddTwoNumbers 的方法添加到您的 UI 映射。 可以在 UIMap.Designer.cs 文件中查看该方法。 此方法执行运行测试时录制的操作。

      public void AddTwoNumbers()
      {
          #region Variable Declarations
          WinEdit textInput1Edit = 
              this.DemoCalculatorWindowWindow.InputNumber2Window.TextInput1Edit;
          WinEdit textInput2Edit = 
              this.DemoCalculatorWindowWindow.TextInput2Window.TextInput2Edit;
          WinButton addButton = 
              this.DemoCalculatorWindowWindow.AddWindow.AddButton;
          #endregion
      
          // Launch '%USERPROFILE%\Desktop\SimpleWinformsCalculator.exe'
          ApplicationUnderTest demoCalculatorWindowWindow = 
              ApplicationUnderTest.Launch(
                  this.AddTwoNumbersParams.DemoCalculatorWindowWindowExePath,
                  this.AddTwoNumbersParams.DemoCalculatorWindowWindowAlternateExePath);
      
          // Type '3' in 'textInput1' text box
          textInput1Edit.Text = 
              this.AddTwoNumbersParams.TextInput1EditText;
      
          // Type '4' in 'textInput2' text box
          textInput2Edit.Text = 
              this.AddTwoNumbersParams.TextInput2EditText;
      
          // Click 'Add' button
          Mouse.Click(addButton, new Point(83, 18));
      }
      
    • 向编码的 UI 测试文件添加调用 AddTwoNumbers 方法的测试方法

            [TestMethod]
            public void CodedUITestMethod1()
            {
                // To generate code for this test, select "Generate Code" 
                // from the shortcut menu and select one of the menu items.
                this.UIMap.AddTwoNumbers();
            }
      

    为录制的方法选择名称时,请选择对录制的操作有说明性的名称。

  7. 如果不希望保留录制的操作,则可以单击**“显示录制的步骤”图标。 选择不希望保留的操作,然后单击“删除”**图标。

  8. 若要为 UI 控件生成断言,请单击十字线图标并其拖到要验证正确性的控件中。

    此时将显示**“编码的 UI 测试生成器 - 添加断言”**对话框。

  9. 单击竖线以查看 UI 映射。

    应突出显示要验证的 UI 控件。

  10. 右击要验证的 UI 控件的属性,然后指向**“添加断言”**。

    此时将显示“添加断言”对话框。

  11. 为断言选择**“比较器”**。

  12. 在**“比较值”**中为断言键入值。

  13. 若要添加断言,请单击**“确定”**。

  14. 为测试添加所有断言后,请关闭**“编码的 UI 测试生成器 - 添加断言”**对话框。

  15. 若要生成断言代码,请单击**“生成代码”**图标。

    此时将显示**“编码的 UI 测试生成器 - 生成代码”**对话框。

  16. 在**“方法名”中键入编码的 UI 测试方法的名称,然后单击“添加并生成”**。

    这将生成如下代码,其中假定输入的名称为 AssertForAddTwoNumbers:

    • 将名为 AssertForAddTwoNumbers 的方法添加到您的 UI 映射 (UIMap.uitest)。 可以在 UIMap.Designer.cs 文件中查看该方法。 此方法执行所添加的断言语句。

            public void AssertForAddTwoNumbers()
            {
                #region Variable Declarations
                WinEdit textAnswerEdit = 
                    this.DemoCalculatorWindowWindow.AnswerWindow.TextAnswerEdit;
                #endregion
      
                // Verify that the 'textAnswer' text box's Text property 
                // is '40'
                Assert.AreEqual(
                     this.AssertForAddTwoNumbersExpectedValues.TextAnswerEditText, 
                    textAnswerEdit.Text);
            }
      
    • 向编码的 UI 测试文件中的测试方法添加对断言方法 AssertForAddTwoNumbers 的调用

            [TestMethod]
            public void CodedUITestMethod1()
            {
                // To generate code for this test, select "Generate Code" 
                // from the shortcut menu and select one of the menu items.
                this.UIMap.AddTwoNumbers();
                this.UIMap.AssertForAddTwoNumbers();
            }
      

    为包含断言语句的方法选择名称时,请选择对所创建的这些断言有说明性的名称。

  17. 单击“关闭”图标关闭“编码的 UI 测试生成器”。

  18. (可选)若要添加代码以在编码的 UI 测试运行时启动应用程序,请录制应用程序的启动序列,然后将其保存到某个方法中。 可以在测试开始时调用该方法。

    提示

    可以添加一个在每个测试方法开始时运行代码的测试初始化方法(通过 [TestInitialize] 特性标识)。 例如,可以从 TestInitialize 方法调用用于启动应用程序的方法。

  19. (可选)若要添加代码以在编码的 UI 测试运行时关闭应用程序,请录制应用程序的关闭序列,然后将其保存到某个方法中。

    如果不关闭浏览器或应用程序,则浏览器或应用程序会在完成测试后仍保持打开状态。

    提示

    可以添加一个在每个测试方法结束时运行代码的测试清理方法(通过 [TestCleanup] 特性标识)。 例如,可以从 TestCleanup 方法调用用于关闭应用程序的方法。

  20. 若要运行测试,请右击测试方法,然后单击**“运行测试”**。 有关如何运行编码的 UI 测试的更多信息,请参见运行自动测试

    提示

    在使用特定数据创建编码的 UI 测试之后,可能需要用不同的数据集多次运行编码的 UI 测试以测试不同条件。 为此,您可以从数据源中向编码的 UI 测试添加参数,以创建数据驱动的编码的 UI 测试。 有关更多信息,请参见如何:创建数据驱动的编码的 UI 测试

    您现在可以添加其他控件,使用 UI 测试生成器对这些控件进行验证。 有关更多信息,请参见 如何:使用编码的 UI 测试生成器添加 UI 控件和验证代码.

    提示

    通过编码的 UI 测试编辑器,可方便地修改编码的 UI 测试。 使用编码 UI 测试编辑器,可以查找、查看和编辑测试方法。 也可以在 UI 控件图中编辑 UI 操作及其关联控件。 编码 UI 测试编辑器包括在 Microsoft Visual Studio 2010 功能包 2 中。 若要下载该功能包,您必须拥有带 MSDN 订阅、Microsoft BizSpark 或 MSDN Academic Alliance 的 Visual Studio 2010 旗舰版、Visual Studio 2010 高级专业版或专业测试工具版 2010。 有关更多信息,请参见使用编码的 UI 测试编辑器编辑编码的 UI 测试Microsoft Visual Studio 2010 功能包 2

请参见

任务

如何:使用编码的 UI 测试生成器添加 UI 控件和验证代码

如何:通过操作录制生成编码的 UI 测试

如何:创建编码的 UI 测试

参考

UIMap

Point

概念

使用自动 UI 测试来测试用户界面

编码的 UI 测试的最佳做法

支持编码的 UI 测试和操作录制的配置和平台

其他资源

如何:创建数据驱动的编码的 UI 测试

修订记录

日期

修订记录

原因

2010 年 12 月

移除了作为新编码 UI 测试的创建选项的“测试列表”窗口。

替换为下列标记之一:

客户反馈