none
如何通过UIAutomation获取Treeview的treeviewitem的值(UI上显示的值) RRS feed

  • 问题

  • Hi, 各位版主和IT界的同仁:

      我是一名SDET新手,目前遇到一个比较难解决的问题.我们项目是一个WPF的产品,其中有部分automation test case,需要获取treeview中node的值来进行进一步的判断,从而进行更深一步的判断. 比如我在管理模块插入了一个新数据到treeview里,那么,我必须在UI上检测到这个数据,case就pass,否则就fail.

      请问如何实现该功能?

      BTW,描述下UISpy.exe中抓到的东西吧, UISpy.exe中抓到treeviewitem中,仅有ContrlType是System.Data.DataRowView, 支持的pattern也仅有SelectionItemPattern和ExpandCollapsePattern, 如果用UIA可以实现获取treeviewitem值的操作,该如何实现?如果UIA做不到,能否推荐一些更好的Solution?比如hook之类的方式?

      最后,感谢各位.

      Thanks.

    • 已编辑 Chris_Wong 2010年4月16日 3:40 Update title
    2010年4月16日 3:35

答案

  • 看起来您刚到微软项目啊。呵呵。

    您的项目中的 TreeView 是 WPF Control?如果是的话可能仅能用 UIAutomation/MAUI,

    UIAutomation 针对于 WPF 应该来说是比较好用的,如果觉得这个也不好做的话,尝试 MAUI/RPF。MAUI 有 WPF 的支持,但个人觉得它的抓控件工具不好用,经常 Crash。

    现在出了一个什么 UIAF 的东西您可以在 CodeBox 看看,很不错的。


    Mark Zhou
    2010年4月16日 9:20