Coded UI 测试自动化框架教程

⚡ 智能摘要

Code用户界面测试 (CUIT) 是 Visual Studio 中的一项自动化测试功能,它通过用户界面驱动应用程序运行。本文将介绍 CUIT 的定义、功能、支持的技术、如何创建测试以及最佳实践。

  • 🖥️ 它是什么: Coded UI 测试通过用户界面 (UI) 驱动应用程序。
  • 🎬 记录: 在 Visual Studio 中记录 UI 操作以生成测试代码。
  • 🧰 技术: CUIT 支持 Web、WPF、 Windows 表单和其他用户界面技术。
  • ???? Vs Selenium/QTP: 喜欢 Selenium 和 QTPCUIT 可自动进行功能性 UI 测试。
  • 🤖 人工智能帮助: GitHub Copilot 等 AI 工具可以帮助生成和维护 UI 测试代码。

Coded UI 测试 (CUIT)

典型的软件自动化 测试与验证 需要自动化工具,例如 Selenium 和 QTP. Coded UI 与这些工具类似,对于功能测试尤其有用。

CodeUI 测试 (CUIT) 使用 Visual Studio IDE 编写脚本,因为录制可以通过以下方式完成: Visual Studio中.

什么是 Coded UI 测试?

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

Coded UI 测试

UI 测试 Archi质地

Coded UI 测试功能

Coded UI 功能包括

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

Coded UI 测试 (CUIT) 支持的技术

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

Coded UI 支持以下技术

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

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

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

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

如何创建 Coded UI 测试 (CUIT)

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

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

内容 Coded UI 测试

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

文件 内容 可编辑的
UI地图.设计器.cs 声明部分 UIMap 类方法属性 没有
用户界面地图 UIMap 类(部分)
CodedUITest1.cs CodeUITest1 类方法属性
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 编辑器进行编辑

接下来在这个 Code在本用户界面教程中,我们将学习如何执行 Coded UI自动化测试。

如何执行 Coded UI 测试

Coded UI 提供了两种不同的方法来测试您的应用程序。

  1. Coded UI 录制和播放或
  2. Coded UI 手工编码

您必须按照以下步骤进行操作 Coded UI 测试,

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

最佳实践 Coded UI 测试 (CUIT)

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

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

相对比 Coded UI 测试对比 Selenium Vs QTP

以下是对比表格: Coded UI 与 Selenium Vs QTP:

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

Coded UI 测试对比 Selenium Vs QTP

相对比 Coded UI 测试对比 Selenium Vs QTP

常见问题

CodeUI 测试是一种自动化测试,它通过用户界面来驱动应用程序运行。Visual Studio 会记录 UI 操作并生成 C# 或 VB.NET 测试脚本。

CUIT支持Web应用程序, Windows 企业介绍 Foundation (WPF), Windows 表单以及其他跨桌面和浏览器界面的用户界面技术。

在 Visual Studio 中,添加一个 Coded UI 测试项目,然后使用以下方式记录 UI 操作 Code你可以使用 UI 测试构建器,也可以手动编写。录制器会自动生成 UIMap 和测试方法。

这三者都能实现功能性用户界面测试。 Selenium 目标浏览器为网页浏览器 QTP 支持多种技术,并且 Coded UI 与 Visual Studio for .NET 集成。

A Coded UI 测试包括 UIMap.Designer.cs、UIMap.cs、 CodedUITest1.cs 和 UIMap.uitest。UIMap 文件存储 UI 元素定义,测试文件包含测试方法。

GitHub Copilot 等 AI 助手可以自动补全测试方法、生成断言并建议选择器。 Coded UI 或 Selenium 测试脚本。

是的。人工智能驱动的测试工具可以生成测试用例,在用户界面发生变化时自动修复损坏的选择器,并将记录的步骤转换为代码。

Coded UI Test 在 Visual Studio 2019 中已被弃用,并且未包含在 Visual Studio 2022 中。 Microsoft 推荐的替代方案,例如 Selenium or Appium 用于新项目。

总结一下这篇文章: