编码的 UI 测试自动化框架教程

典型的软件自动化 测试 需要自动化工具,例如 Selenium 和 QTP。Coded UI 与这些工具类似,并且对于功能测试特别有用。

编码 UI 测试 (CUIT) 使用 Visual Studio IDE 编写脚本,因为可以使用以下方式进行录制 Visual Studio中.

什么是编码的 UI 测试?

编码 UI 测试 (CUIT) 是一种通过用户界面 (UI) 驱动应用程序的自动化测试。因此,名称为 Coded UI Test (CUIT)。此测试涉及 功能测试 UI 控件。它检查整个应用程序的功能,包括用户界面。它还用于自动化现有的手动测试。

编码的 UI 测试

UI 测试 Archi质地

编码的 UI 测试功能

编码 UI 功能包括

  • 功能测试
  • 在 VB/C# 中生成代码
  • 与 ALM 故事集成
  • 在实验室中或作为构建的一部分进行构建、部署和测试
  • 本地、远程运行、数据收集
  • 丰富的扩展性
  • 意图感知录制和弹性播放

编码的 UI 测试 (CUIT) 支持的技术

使用编码的 UI,可以轻松测试具有 UI(用户界面)的应用程序。该应用程序可以基于窗口或基于 Web。

编码的 UI 支持以下技术

  • 基于窗口的桌面应用程序
  • Web 服务(SOAP、ASPX 等)
  • Windows 手机应用程序
  • WPF(Windows 企业介绍 Foundation)
  • Web 应用程序(HTML、Silverlight、HTML5)

为什么使用编码的 UI 进行测试自动化

为什么测试自动化首选编码 UI

  • 开发人员和软件测试人员可以使用相同的工具/语言有效地协作。
  • 它支持 Web 以及 Windows 项目。
  • 元素识别机制是 Coded UI 的一大特色。此外,它还支持同步
  • 播放引擎支持“WaitForControlExist”、“WaitForReadyLevel”等功能
  • 借助“测试代理”,可以在远程机器上运行自动化测试
  • 自动化团队可以使用分层框架的编码 UI 开发复杂的测试
  • 软件测试人员可以利用 log4net.dll 捕获异常并有效地记录结果
  • 编码 UI 工具支持 描述性编程. 它允许软件测试人员根据对象属性自动化场景
  • 它支持 AJAX 控件。

如何创建编码的 UI 测试 (CUIT)

要创建编码的 UI 测试,您可以按照下列方式进行。

  • 从现有动作记录生成(从手动测试记录转换)
  • 从头开始创建新的编码 UI 测试
  • 从头编写代码

编码的 UI 测试的内容

当您创建编码的 UI 测试时,编码的 UI 测试构建器会创建一个 Map。其中包括待测 UI、测试方法、参数、断言等。对于每个测试,它还会创建一个类文件。

文件 内容 可编辑的
UI地图.设计器.cs 声明部分 UIMap 类方法属性 没有
用户界面地图 UIMap 类(部分) Yes
CodedUITest1.cs CodeUITest1 类方法属性 Yes
UIMap.uitest 测试的 UI XML 映射。只能通过 UI Map 编辑器进行编辑 没有
  1. UI地图.设计器.cs :设计器包含 UIMap 的代码视图。当测试人员记录某些 UI 交互或手动将某些对象添加到 UIMap 时会生成该视图。
  2. 用户界面地图:对 UIMap 所做的任何修改或自定义都存储在此文件中。最初,此文件为空白,稍后可以填充。如果直接对 UIMap.designer.cs 文件进行修改,请确保未记录,否则所有更改都将丢失。
  • CodedUITest1.cs:此文件包含编码的 UI 测试类、测试方法、断言调用和方法调用。所有断言和方法默认都从此文件调用。
  • UIMap.uitest:它是 UIMap 类的 XML 表示。它包括窗口、控件、属性、方法、操作和断言。它只能通过 UI Map 编辑器进行编辑

接下来在本 Coded UI 教程中,我们将学习如何执行 Coded UI 自动化测试。

如何执行编码的 UI 测试

编码的 UI 有两种不同的方法来对你的应用程序进行测试。

  1. 编码 UI 记录和回放或
  2. 编码的 UI 手工编码

您必须按照以下步骤执行编码的 UI 测试,

  1. 创建 CodedUI 测试项目Create a CodedUI test project
  2. 添加编码的 UI 测试文件
  3. 记录一系列动作
  4. 验证 UI 字段(例如文本框)中的值
  5. 查看生成的测试代码
  6. 添加更多操作和断言
  7. 编辑测试活动和断言的详细信息
  8. 运行测试

编码 UI 测试 (CUIT) 的最佳实践

以下是编码的 UI 测试自动化框架的一些最佳实践:

  • 尽可能使用编码的 UI 自动化测试生成器
  • 尽量不要直接修改 UIMap.designer.cs 文件。否则,你对该文件所做的更改将被覆盖。
  • 将测试创建为一系列记录的方法
  • 每个记录的方法都应作用于单个页面、表单或对话框。此外,为每个新表单、页面或对话框创建一个新的测试方法。
  • 创建方法时,请使用有意义的方法名称,而不是默认名称。有意义的名称有助于识别方法的用途
  • 如果可能,请将每个记录方法限制为少于 10 个操作。如果 UI 发生变化,这种方法可以更轻松地替换方法。
  • 要创建断言,请使用 CodedUI 测试生成器。它会自动将断言方法添加到 UIMap.Designer.cs 文件中。
  • 如果用户界面发生变化,则重新记录测试方法/断言方法,或者重新记录现有测试方法受影响的部分。
  • 如果您直接使用 API 进行编码,请使用 UIMap.Designer.cs 文件中创建的类中的方法和属性。这些类将使您的工作更加可靠和轻松,并有助于提高您的工作效率。

编码 UI 测试与 Selenium 与 QTP 相比

以下是 Coded UI 与以下产品的比较表: Selenium 与 QTP 相比:

  • Selenium 不支持任何 WPF 以及 Windows 申请
  • Visual Studio CodedUI 支持 Windows 商店应用程序测试以及 Windows Phone 应用程序测试。没有其他工具支持此功能。
  • 测试完成确实支持 Windows 应用程序,但需要安装插件。

编码的 UI 测试 vs Selenium 与 QTP 相比

编码 UI 测试与 Selenium 与 QTP 相比

概要:

  • 通过用户界面 (UI) 驱动应用程序的自动化测试称为 CodedUI 测试 (CUIT)。
  • 编码的 UI 测试自动化框架支持 Web 服务、Windows 手机应用程序、Web 应用程序等技术。
  • 编码的 UI 测试允许开发人员和 软件测试员 使用相同的工具/语言进行有效协作
  • 使用 CodedUI 时创建的内容或文件包括
  • UI地图.设计器.cs
  • 用户界面地图
  • CodedUITest1.cs
  • UIMap.uitest