使用编码的 UI 测试编辑器编辑编码的 UI 测试

通过编码的 UI 测试编辑器,可轻松地修改编码的 UI 测试。通过使用编码的 UI 测试编辑器,可以在 UI 控件图中定位、查看和编辑您的测试方法的属性和UI 操作。此外,可以使用 UI 控件图显示并编辑它们的相应控件。

要求

  • Visual Studio 旗舰版, Visual Studio 高级专业版

为什么应这样做?

与在编码的UI测试方法中使用代码编辑器编辑代码相比,使用编码的 UI 测试编辑器执行此操作的速度更快且效率更高。编码的 UI 测试编辑器中,可以使用工具栏和快捷菜单来快速定位和修改值属性与 UI 操作和控件。例如,可以使用编码的 UI 测试编辑器的工具栏执行以下命令:

UI 测试编辑器

  1. 查找用于帮助定位 UI 操作和控件。

  2. 删除用于删除不需要的 UI 操作。

  3. 重命名用于更改测试方法和控件的名称。

  4. 属性用于打开选定项的“属性”窗口。

  5. 拆分为新方法允许您模块化 UI 操作。

  6. 移动代码用于向测试方法添加自定义代码。

  7. 在之前插入延迟用于在指定的 UI 操作之前添加暂停(以毫秒为单位)。

  8. 定位 UI 控件用于标识控件在受测应用程序的 UI 中所处的位置。

  9. 全部定位用于帮助验证控件属性以及对应用程序的控件所做的重大更改。

如何执行此操作?

在 Visual Studio 2012,打开 UIMap.uitest 文件参与在编码的 UI 测试项目的编码的 UI 测试将自动显示使用编码的 UI 测试编辑器的编码的 UI 测试。以下过程描述如何可以定位和编辑测试方法使用编辑器的工具栏和快捷菜单,并且 UI 操作和控件的属性。

打开编码的 UI 测试

使用编码的 UI 测试编辑器,您可查看并编辑 Visual C# 和 Visual 对象基于 BASIC 的编码的 UI 测试。

“编码的 UI 测试生成器”的“编辑”上下文菜单

在“解决方案资源管理器"中,打开UIMap.uitest的快捷菜单并且选择“打开”。编码的 UI 测试编辑器中将显示编码的 UI 测试。现在,可以在编码的 UI 测试中查看并编辑记录的方法、操作及相应的控件。

提示提示

当您在“UI 操作”窗格中选择某个方法中的 UI 操作时,将突出显示相应的控件。还可以修改 UI 操作或控件属性。

  • I don't see编码的 UI 测试编辑器
    可以使用 Visual Studio 旗舰版 或 Visual Studio 高级专业版 在版本 2012 年前。编码的 UI 测试编辑器还提供了带有 MSDN 订阅的 Visual Studio 2010 Feature Pack 2。有关详细信息,请参阅 Microsoft Visual Studio 2010 功能包 2.

修改 UI 操作属性及其对应的控件属性

使用编码的 UI 测试编辑器,可快速定位和查看测试方法中的所有 UI 操作。在编辑器中选择 UI 操作时,将自动突出显示相应的控件。同样地,如果您选择某个控件,将突出显示关联 UI 操作。在选择 UI 操作或控件时,可使用“属性”窗口轻松修改与之相应的属性。

编辑 UI 操作属性

UI 操作属性

若要修改 UI 操作的属性,在 UI 操作 窗格中,展开包含要编辑其属性的 UI 操作的测试方法中,使用属性窗口,选择 UI 操作,然后修改属性。

例如,如果服务器不可用,并且您有一个与 Web 浏览器关联的 UI 操作,表明**“转到网页‘http://Contoso1/default.aspx’”**,则可将 URL 更改为 ‘http://Contoso2/default.aspx’。

编辑控件属性

控件属性

修改控件的属性的方法与对待 UI 操作的方式执行。使用属性窗口,在 UI 控件图 窗格中,选择要编辑的控件并修改其属性。

例如,开发人员可能已在所测试的应用程序的源代码中,将按钮控件的**“(ID)”属性从“idSubmit”更改为“idLogin”。在更改应用程序中的“(ID)”属性后,编码的 UI 测试将无法查找按钮控件,并且将失败。在此情况下,测试人员可打开“搜索属性”集合并更改“Id”**属性,以匹配开发人员在应用程序中使用的新值。测试人员还可将“好友名称”属性值从“Submit”更改为“Login”。通过进行此更改,可将编码的 UI 测试编辑器中的关联 UI 操作从“选择‘提交’按钮”更新为“选择‘登录’按钮”。

在完成修改后,请通过选择Visual Studio 工具栏的 保存 来保存对 UIMap.Designer 文件的更改 。

  • What else should I know?
    提示

    • 提示 如果属性"窗口未显示,请在按住 Alt,当您按 输入时或或者按 F4 。

    • 提示 若要撤消所做的属性更改,请选择“编辑”菜单中的“撤消”,或者按 Ctrl+Z。

    • 提示可以使用编码的 UI 测试编辑器工具栏的查找按钮来打开Visual Studio 中的查找和替换。。然乎可使用编码的 UI 测试编辑器工具栏中的“查找”控件来定位UI控件。例如,可以尝试查找“单击‘登录’按钮”。这在大型测试中很有用。注意在查找在编码的 UI 测试编辑器不得使用替换功能和工具替换。有关详细信息,请参见查找和替换文本的查找控件.

    • 提示有时,很难可视化控件在受测应用程序的 UI 中所处的位置。编码的 UI 测试编辑器的功能之一是,可供您选择 UI 控件图中列出的某个控件,并查看该控件在受测应用程序中所处的位置。有关详细信息,请参阅 定位该程序的一个UI控件,它位于该主题进一步下方的测试下方

    • 提示可能需要展开包含要编辑的控件的容器控件。本主题进一步定位有关详细信息,请参阅 下面的 查找控件及其后代。

删除不需要的 UI 操作

可以容易移除在编码的 UI 测试中不需要的 UI 操作。

删除 UI 操作

在**“UI 操作”**窗格中,展开包含要删除的 UI 操作的测试方法。打开UI控件的快捷菜单,然后选择“删除”。

将测试方法拆分为两个不同方法

可以拆分测试方法来优化或模块化 UI 操作。例如,您的测试可能具有 UI 操作的单个测试方法在两个容器控件。该UI操作可能会在一个容器对应的两种方法得到更好的模块化。

拆分测试方法两种测试方法

在 UI 操作 窗格中,展开要拆分为两个单独的方法的 UI 操作和选择要在其中开始新测试方法的测试方法。打开 UI 操作的快捷菜单中选择 拆分成新方法或选择 拆分成新方法 按钮在编码的 UI 测试编辑器工具栏。“UI 操作”窗格中将显示新测试方法。它从您在其中指定拆分的操作启动包含 UI 操作。

在执行方法拆分后的属性,请通过选择 保存 保存对 UIMap.Designer 文件的更改在 Visual Studio 工具栏。

  • What else should I know?
    重要问题

    • “警告”图标警告:,如果拆分方法,则必须修改调用现有方法也称为的新方法。的任何代码将创建,则仍然希望包含的这些 UI 操作。在拆分方法时,显示Microsoft Visual Studio 对话框。该对话框警告您,必须将调用现有方法的任何代码修改为还调用即将创建的新方法。选择**“是”**。

    提示

    • 提示 若要撤消拆分,请从“编辑”菜单中选择“撤消”,或者按 Ctrl+Z。

    • 提示可以对新方法进行重命名。在“UI 操作”窗格中选择它,然后选择编码的 UI 测试编辑器工具栏中的“重命名”按钮。

      - 或 -

      打开新测试方法的快捷菜单中选择 重命名。

      将显示一个 Microsoft Visual Studio 对话框。该对话框警告您必须修改引用该方法的任何代码。选择**“是”**。

将测试方法移动到 UIMap 文件以便于自定义

如果确定一个编码的 UI 测试方法需要自定义代码,则您必须将该测试方法移动到 UIMap.cs 或 UIMap.vb 文件。否则,每当编码的 UI 测试重新编译时您的代码将被覆盖。如果您不移动该方法,则只要重新编译测试,就会重写您的自定义代码。

在“UI 操作”窗格中,选择要移动到 UIMap.cs 或 UIMap.vb 文件的测试方法,以便使用在重新编译测试代码时不会重写的自定义代码功能。然后,选择 移动代码 按钮在编码的 UI 测试编辑器工具栏或打开测试方法的快捷菜单中选择 移动代码 。将从 UIMap.uitest 文件中移除该测试方法,并且“UI 操作”窗格中将不再显示该测试方法。若要能编辑移动的测试文件,请从解决方案资源管理器中打开 UIMap.cs 或 UIMap.vb 文件。

在执行方法移动后,请通过选择 保存 保存对 UIMap.Designer 文件的更改在 Visual Studio 工具栏。

  • What else should I know?
    重要问题

    • “警告”图标警告: 一旦移动了该方法,您就不再能使用编码的 UI 测试编辑器对其进行编辑。您必须使用代码编辑器添加并维护您的自定义代码。在移动方法时,显示Microsoft Visual Studio 对话框。该对话框将警告您,该方法将从 UIMap.uitest 文件移动到 UIMap.cs 或 UIMap.vb 文件,并且您将不能再使用编码的 UI 测试编辑器来编辑该方法。选择**“是”**。

    提示

    • 提示若要撤消移动,请从“编辑”菜单中选择“撤消”,或者按 Ctrl+Z。但是,您稍后必须从 UIMap.cs 或 UIMap.vb 文件中手动移除代码。

在受测应用程序中查找 UI 控件

有时,很难可视化控件在受测应用程序的 UI 中所处的位置。编码的 UI 测试编辑器的功能之一是,可供您选择 UI 控件图中列出的某个控件,并查看该控件在受测应用程序中所处的位置。也可对受测应用程序使用**“查找 UI 控件”**功能来验证对控件所做的搜索属性更改。

定位 UI 控件位于正在接受测试的应用程序中的控件

在**“UI 控件图”**窗格中,选择要在与测试关联的应用程序中查找的控件。接下来,打开控件的快捷菜单中选择查找 UI 控件 。在所测试的应用程序中,将用蓝色边框指定该控件。

  • What else should I know?
    重要问题

    • “警告”图标警告:,在定位 UI 控件之前,验证与测试关联的应用程序运行。

    提示

    • 提示或者,可以使用**“查找全部”**选项来验证是否能准确找到容器中的所有控件。该选择将在下一部分介绍。

查找控件及其后代

您可以验证一个容器下的所有控件都可以正确地定位于应用程序的UI测试 这在验证您对容器所做的搜索属性更改时会很有用。此外,如果受测应用程序的 UI 已发生重大更改,则可验证现有控件搜索属性是否仍正确。

定位所有后代控件找到的所有控件

在**“UI 控件图”**窗格中,选择要查找并查看其所有后代的容器控件。接下来,打开控件的快捷菜单中选择 查找全部。在编码的 UI 测试编辑器中,使用绿色复选标记或红色‘X’来标记容器控件及其所有后代控件。可通过这些标记获知是否在受测应用程序中成功找到控件。

  • What else should I know?
    重要问题

    • “警告”图标在定位 UI 控件之前的警告:,验证与测试关联的应用程序运行。

在 UI 操作之前插入延迟

有时,您可能需要让测试等待某些事件发生(如某个窗口出现、进度栏消失等)。通过使用编码的 UI 测试编辑器,可以通过在 UI 操作之前插入延迟来做到这一点。您可以指定延迟时间(以秒为单位)。

在 UI 操作前插入延迟延迟时间增加 5 秒

在**“UI 操作”窗格中,展开包含要在其前插入延迟的 UI 操作的测试方法。选择该 UI 操作。接下来,打开 UI 操作的快捷菜单中选择 在前面插入延迟 。在包含以下文本的选定 UI 操作前插入延迟并将其突出显示:“为操作之间的用户延迟等待 1 秒”。在“属性”窗口中,将“Delay”**属性的值更改为所需的毫秒数。

在执行插入延迟后,请通过选择 保存 保存对 UIMap.Designer 文件的更改在 Visual Studio 工具栏。

  • What else should I know?
    注释

    • 系统必备如果您需要确保特定控件在 UI 操作之前可用,则应考虑使用适当的 UITestControl.WaitForControlXXX() 方法将自定义代码添加到您的测试方法中。有关详细信息,请参阅播放期间让编码的 UI 测试等待特定事件.

    提示

    • 提示 如果属性"窗口未显示,当您按 输入时按住 Alt,或者按 F4 。

外部资源

指导

使用 Visual Studio 2012 对连续交付进行测试 - 第 2 章:单元测试:测试内部

FAQ

编码的 UI 测试常见问题 - 1

编码的 UI 测试常见问题 - 2

论坛

Visual Studio UI 自动测试(包含 CodedUI)

请参见

任务

演练:创建、编辑和维护编码的 UI 测试

概念

使用 UI 自动化验证代码

其他资源

创建编码的 UI 测试

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

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