编码的 UI 测试自动化框架教程
典型的软件自动化测试需要 Selenium 和 QTP 等自动化工具。 Coded UI 与这些工具类似,对功能测试特别有用。
Coded UI Test (CUIT) 使用 Visual Studio IDE 编写脚本,因为录制可以使用 Visual Studio 完成。
在这个面向初学者的编码 UI 教程中,您将学习-
- 什么是编码 UI 测试?
- 编码的 UI 测试功能
- 编码 UI 测试 (CUIT) 支持的技术
- 为什么使用编码 UI 进行测试自动化
- 如何创建编码 UI 测试 (CUIT)
- 编码 UI 测试的内容
- 如何执行编码的 UI 测试
- 编码 UI 测试 (CUIT) 的最佳做法
- Coded UI 测试与 Selenium 与 QTP 的比较
什么是编码 UI 测试?
编码 UI 测试 (CUIT) 是一种通过其用户界面 (UI) 驱动应用程序的自动化测试。因此,名称编码 UI 测试 (CUIT)。此测试涉及 UI 控件的功能测试。它检查整个应用程序的功能,包括用户界面。它还用于自动化现有的手动测试。
<中心>
<图>UI 测试架构
图>
编码的 UI 测试功能
编码的 UI 功能包括
- 功能测试
- 在 VB/C# 中生成代码
- 与 ALM 故事集成
- 在实验室或作为构建的一部分构建、部署和测试
- 本地、远程运行、数据收集
- 丰富的扩展性
- 意图感知录制和弹性播放
编码 UI 测试 (CUIT) 支持的技术
使用编码的 UI,可以轻松测试具有 UI(用户界面)的应用程序。该应用程序可以是基于窗口的,也可以是基于 Web 的。
编码的 UI 支持诸如
之类的技术- 基于窗口的桌面应用程序
- 网络服务(SOAP、ASPX 等)
- 窗口电话应用程序
- WPF (Windows Presentation Foundation)
- 网络应用程序(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、测试方法、参数、断言等。对于每个测试,它还创建一个类文件。
- UIMap.Designer.cs :设计器包含 UIMap 的代码视图。它是在测试人员记录一些 UI 交互或手动将一些对象添加到 UIMap 时生成的。
- UIMap.cs :对 UIMap 所做的任何修改或自定义都存储在此文件中。最初,此文件将为空白,稍后可以填充。如果直接对 UIMap.designer.cs 文件进行修改,请确保它没有被记录,否则所有更改都将丢失。
- CodedUITest1.cs :该文件包含编码的 UI 测试类、测试方法、断言调用和方法调用。默认情况下,所有断言和方法都从此文件调用。
- UIMap.uitest :它是 UIMap 类的 XML 表示。它包括窗口、控件、属性、方法、动作和断言。只能通过 UI 地图编辑器进行编辑
接下来在本 Coded UI 教程中,我们将学习如何执行 Coded UI 自动化测试。
如何执行编码的 UI 测试
Coded UI 有两种不同的方式来对您的应用程序进行测试。
- 编码的 UI 录制和播放或
- 编码的 UI 手工编码
您必须按照以下步骤执行 Coded UI 测试,
- 创建 CodedUI 测试项目
- 添加编码的 UI 测试文件
- 记录一系列动作
- 验证文本框等 UI 字段中的值
- 查看生成的测试代码
- 添加更多操作和断言
- 编辑测试活动和断言的详细信息
- 运行测试
编码 UI 测试 (CUIT) 的最佳实践
以下是 Coded UI 测试自动化框架的一些最佳实践:
- 尽可能使用 Coded UI 自动化测试生成器
- 尽量不要直接修改 UIMap.designer.cs 文件。否则,您对文件所做的更改将被覆盖
- 将您的测试创建为一系列记录的方法
- 每个记录的方法都应作用于单个页面、表单或对话框。此外,为每个新表单、页面或对话框创建新的测试方法
- 创建方法时,请使用有意义的方法名称来代替默认名称。有意义的名称有助于确定方法的用途
- 如果可能,将每个记录的方法限制为少于 10 个操作。如果 UI 发生变化,这种方法可以更轻松地替换方法。
- 要创建断言,请使用 CodedUI 测试构建器。它会自动将断言方法添加到 UIMap.Designer.cs 文件中。
- 如果用户界面更改或重新记录现有测试方法的受影响部分,则重新记录测试方法/断言方法。
- 如果您直接使用 API 进行编码,请使用在 UIMap.Designer.cs 文件中创建的类中的方法和属性。这些课程将使您的工作更可靠、更轻松,并帮助您提高工作效率。
编码 UI 测试与 Selenium 与 QTP 的比较
下面是 Coded UI Vs Selenium Vs QTP 的对比表:
- Selenium 不支持任何 WPF 以及 Windows 应用程序
- Visual Studio CodedUI 支持 Window 商店应用程序测试以及 Window Phone 应用程序测试。没有其他工具支持这一点。
- Test Complete 确实支持 Window 应用程序,但需要安装插件。
编码 UI 测试与 Selenium 与 QTP 的比较
总结:
- 通过用户界面 (UI) 驱动应用程序的自动化测试称为 CodedUI 测试 (CUIT)。
- 编码的 UI 测试自动化框架支持 Web 服务、Window phone 应用程序、Web 应用程序等技术。
- 编码 UI 测试允许开发人员和软件测试人员使用相同的工具/语言进行有效协作
- 使用 CodedUI 时创建的内容或文件包括
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.uitest
C语言