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

使用现有操作录制是创建编码的 UI 测试的有效方法。 有关如何创建操作录制的更多信息,请参见录制和播放手动测试

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

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

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

    - 或 -

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

    - 或 -

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

    此时将出现**“编码的 UI 测试”**对话框。

  2. 单击**“使用现有操作录制”**。

    此时将出现**“连接到团队项目”**对话框。

  3. 查找具有附加操作录制的工作项:

    1. 在**“项目”下拉列表中选择项目,然后单击“连接”**。

    2. 选择一种方法来查找具有附加操作录制的工作项:执行已保存的查询,按 ID 查询或按工作项的标题搜索。

    3. 单击**“查找”**执行查询。

  4. 选择包含操作录制的工作项,该操作录制将用于创建编码的 UI 测试,然后单击**“确定”**。

    这会向 UI 映射添加 UI 控件,向编码的 UI 测试添加操作。 将为与操作录制相关的测试用例中的每个步骤创建一个方法。

  5. 若要为 UI 控件生成断言,请右击编码的 UI 测试源文件,指向**“生成代码”,再指向“使用编码的 UI 测试生成器”**。

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

  6. 启动受测应用程序并定位到要添加的 UI 控件。

  7. 单击编码的 UI 测试生成器中的十字线图标,将其拖到要验证正确性的控件中。

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

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

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

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

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

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

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

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

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

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

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

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

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

    • 将名为 AssertForAddTwoNumbers 的方法添加到 UIMap.Designer.cs 文件。 此方法执行所添加的断言语句。

      public void AssertForAddTwoNumbers()
      {
          #region Variable Declarations
          WinEdit textAnswerEdit = 
              this.DemoCalculatorWindowWindow.AnswerWindow.TextAnswerEdit;
          #endregion
      
          // Verify that 'textAnswer' text box's Text property = '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();
    }
    

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

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

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

    提示

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

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

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

    提示

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

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

    提示

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

有关操作录制的更多信息,请参见如何:创建操作录制

请参见

任务

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

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

如何:创建编码的 UI 测试

参考

UIMap

Assert

概念

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

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

其他资源

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