【问题标题】:What is the right approach to test WPF application using CodedUITest使用 CodedUITest 测试 WPF 应用程序的正确方法是什么
【发布时间】:2012-03-09 05:21:43
【问题描述】:

拥有具有复杂 UI 的 WPF 应用程序并希望为此编写 CodedUITest 脚本。 由于我是新手,因此我需要适当的指导/方法来编写 CodedUITest 脚本。 由于我们在 UI 上存在一些自定义控件并且可以随时更改,因此不可能使用 Record & Play 来完成所有操作。

我想用 C# 代码来做这件事。在从自定义网格获取特定记录并使用 C# 代码识别控件时面临问题。

  • 我应该控制哪些属性以便在 CodedUITest 中轻松识别?
  • 是否必须为所有控件提供 AutomationId?
  • 对于 Treeview 和 grid 等动态控件需要做什么?
  • 如何识别拖放类型的窗口?

【问题讨论】:

    标签: coded-ui-tests


    【解决方案1】:

    理论方面:

    编码 UI 测试 用于进行 UI 回归测试。给定特定数据,您的 UI 应该以特定方式做出反应。这个测试之王的想法是,在给定相同数据的情况下,UI 会保持相同的行为方式。换句话说:如果给定某个数据集,您的 UI 会改变反应方式(基于记录),那么测试应该会中断

    实际情况:

    编码的 UI 测试是一个测试框架,记录会生成代码。您可以看到该代码,恕我直言,您应该看到这些东西是如何工作的。如果您需要更通用的编码 UI,您可以通过修改生成的代码来实现。事实上,我强烈建议拆分生成的类和方法,并进行一些 clanup。

    代码生成一种 UI 映射(具有引用测试使用的 UI 对象的属性的类)。您可以手动调整该地图添加或删除属性(毕竟,它只是代码)并创建您自己的更复杂的 UI 地图,事实上,您甚至可以使地图从其他地图“继承”(更多 a la ASP.Net 母版页)。

    在 WPF 中,您可以检查控件是否存在、其 UI 样式、内容及其子项(如果有)。 在 AutomationID 主题上,仅在您需要检查的控件中是强制性的。 关于 D&D……我不知道。我从来没有为 D&D 做过 UI 测试。

    【讨论】:

    • 谢谢。我遇到了另一个名为 Microsoft UI 自动化库的测试库。想检查一下,我应该使用哪个库来进行 WPF 应用程序测试,CodedUITest 还是 Microsoft UI 自动化库?
    • 请参阅 blogs.msdn.com/b/dpksinghal/archive/2011/09/28/… 以修复编码的 UI 测试记录器视觉树深度问题,该问题修复了测试记录器未找到 WPF 控件的问题。
    猜你喜欢
    • 2013-06-18
    • 2010-09-06
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多