测试脚本生成器示例

更新:2007 年 11 月

此示例演示如何使用 Microsoft UI 自动化控件模式和事件为自动化测试方案生成测试脚本。测试脚本生成器跟踪用户与目标应用程序的 用户界面 (UI) 之间的交互,并存储相关元素和事件。

将有关一个元素和任何关联事件的信息保存到常规记录类 (UIAEventRecord.cs)。常规信息和脚本可作为纯文本转储以便测试人员进行后续分析或修改,对于生成的脚本,还可在以后进行播放。

此类基于事件的应用程序带有固有的限制,即不能区分 用户界面 (UI) 中由用户直接输入或间接输入导致的更改。例如,此示例的目标应用程序包含三个相互依赖的控件,用户与一个控件交互将会导致对每个其他控件进行更改。

ms771275.alert_caution(zh-cn,VS.90).gif警告:

此示例中描述的 UI 自动化和自动化测试方案需要应用程序(或控件开发人员)与测试人员之间的协定。换句话说,能否以一致的方式执行生成的脚本,取决于所操作的静态的、可预言的目标 UI。在这点上,对于需要录制并随后播放与随机应用程序和控件的交互的情况,不应考虑采用 UI 自动化作为解决方案。

如果元素没有唯一的标识符(如 AutomationId 属性),或者 UI 是动态和不可预知的(例如 Windows 任务管理器,其中的“进程”或“应用程序”选项卡中列出的项依赖于系统的状态),则会出现导致无法实现“盲”录制和播放的常见问题。在这些实例中,在播放期间定位特定元素事实上是不可能的。

此示例演示 Windows Presentation Foundation (WPF) 的特定功能,因此未遵循应用程序开发的最佳做法。有关 Windows Presentation Foundation (WPF) 和 Microsoft .NET Framework 应用程序开发的最佳做法的全面介绍,请相应地参考以下主题:

辅助功能 - 辅助功能最佳方案

安全 - Windows Presentation Foundation 安全性

本地化 - WPF 全球化和本地化概述

Download sample

生成示例

  • 本示例由以下三个项目组成:

    • ScriptGeneratorClient 为示例提供脚本生成功能;目标应用程序从客户端 UI 启动。

    • ScriptGeneratorTarget 为客户端应用程序提供目标 UI。

    • ExecuteScript 为示例提供脚本执行功能;目标应用程序从客户端 UI 启动。在生成脚本并将其复制到 script.cs 文件之后,手动运行此项目。

  • 安装 Windows 软件开发工具包 (SDK) 并打开其生成环境命令窗口。在“开始”菜单上,指向“所有程序”、“Microsoft Windows SDK”,然后单击“CMD Shell”。

  • 将示例(通常位于软件开发工具包 (SDK) 文档中)下载到您的硬盘。

  • 若要从生成环境命令窗口生成示例,请转到示例的源目录。在命令提示符处,键入 MSBUILD。

  • 若要在 Microsoft Visual Studio 中生成示例,请加载示例解决方案或项目文件,然后按 Ctrl+Shift+B。

生成脚本

  • 若要从生成环境命令窗口运行已编译的示例,请执行示例源代码文件夹下包含的 Bin\Debug 或 Bin\Release 文件夹中的 .exe 文件。

  • 若要在 Visual Studio 中调试运行已编译的示例,请按 F5。

ms771275.alert_note(zh-cn,VS.90).gif说明:

这将启动 ScriptGenerator 客户端应用程序。目标应用程序从客户端启动。

执行脚本

  • 关闭客户端和目标应用程序。

  • 在 ExecuteScript 项目中打开 Script.cs 文件。

  • 选择现有代码并用生成的脚本进行覆盖。

  • 生成并运行 ExecuteScript 项目。

ms771275.alert_note(zh-cn,VS.90).gif说明:

这将启动 ExecuteScript 客户端应用程序。目标应用程序从客户端启动。