为什么Coded UI Test Builder显示MSAA用于WPF控件而不是UIA

时间:2010-04-07 14:35:38

标签: unit-testing visual-studio-2010 tfs tfs2010 coded-ui-tests

问题

当我使用Visual Studio 2010编码的UI测试生成器(screenshots)的交叉线选择WPF控件时,它显示使用的辅助功能技术是MSAA。为什么不是UIA?

其他信息

我正在尝试VS2010和TFS2010附带的新编码UI测试功能。

我知道微软基本上有两种UI辅助功能技术:

当我创建一个编码的UI测试并查看生成的代码时,我看到根据像素位置点击控件,而不是 - 我会大胆地期望 - 处理真实对象。

我认为这种访问使得测试对UI元素的重定位更加脆弱。如果UIA在工作,测试会更稳定;只要我不更改UI树,就不会有任何破坏。

我出错了什么?

2 个答案:

答案 0 :(得分:1)

这是Visual Studio 2010 Ultimate RC的known issue

答案 1 :(得分:1)

关于原始问题中的“像素位置”注释。大多数情况下,不需要像素坐标。通过搜索屏幕上的控件层次结构找到控件。记录的坐标在控件内。这是一些复杂控件所必需的。例如。带有三角形以扩展一组选项的按钮具有两个可点击区域:主区域和三角形。有关详细信息,请参阅此MSDN博客条目:http://blogs.msdn.com/b/mathew_aniyan/archive/2012/03/16/faq-why-are-we-using-coordinate-based-actions-in-coded-ui-test.aspx