UI自动化树

  1. UI Automation树中有一个表示当前桌面的根元素 (RootElement),该元素的子元素表示应用程序窗口 其中的每个子元素都可以包含表示 UI 各个部分(如菜单、按钮、工具栏和列表框)的元素。 这些子元素又可以包含列表项之类的元素.
  2. UI Automation树的结构不固定,由于它可能包含数千个元素,因此它很少全部显示出来。 您可以根据需要生成树的某些部分,当您添加、移动或移除元素时,树也会进行更改。

  3. UI 自动化提供程序通过实现片段(由一个通常承载在窗口中的根元素和一个子树组成)中各项之间的导航来支持 UI Automation树
  4. 客户端可以通过以下两种方法来自定义视图:设置范围和筛选 设置范围是指从基元素开始定义视图的范围,例如,应用程序可能希望仅查找桌面的直接子级,或者查找某个应用程序窗口的所有子代。 筛选是指定义要包括在视图中的元素类型。

  5. 三个默认视图
    1. 原始视图:对象的完整树.原始视图是通过以下方法来获取的:在不指定属性的情况下搜索元素,或者使用 RawViewWalker 在树中导航。
    2. 控件视图:映射到由最终用户查看的 UI 结构.其包括的非交互式项不能接收键盘焦点.控件视图是通过以下方法获取的:搜索 IsControlElement 属性设置为 true 的元素,或者使用 ControlViewWalker 在树中导航.
    3. 内容视图:包含用来在用户界面中传达真正信息的 UI 项(包括可以接收键盘焦点的 UI 项,以及一些不是 UI 项标签的文本)。由于内容视图旨在显示要呈现给用户的数据或内容,因此,内容视图中不存在如下情况:始终有一项处于打开状态,而另有一项是可以展开和折叠的。内容视图是通过以下方法获取的:搜索 IsContentElement 属性设置为 true 的元素,或者使用 ContentViewWalker 在树中导航。

posted on 2011-11-22 08:50  RobynHYB  阅读(382)  评论(0编辑  收藏  举报

导航