在Coded UI Test中可能导致错误的UI控件层次结构的原因是什么?

时间:2015-02-24 08:14:36

标签: c# wpf visual-studio-2012 coded-ui-tests

我正在使用VS 2012和Coded UI Test创建自动测试。当我使用我们的WPF应用程序记录测试并在ListBoxItem上创建MouseClick时(我们使用ListBoxes作为菜单),我在UI控制图中得到了一个错误的UI控件层次结构。

我期待以下树:

WPF-Window/TabControl/TabPage/RadExpander/MainMenuListBox/SelectedMenuListItem

但我得到以下 - 正如我所说 - 错误的树:

WPF-Window/RadExpander/MainMenuListBox/SelectedMenuListItem

当我回放录音时,无法找到WPF-Window下的控件,因为树未完成。

当我在ListBox控件上录制DoubleClick时,我会得到正确的树。

所有控件都有AutomationIds。

UI控制树中出现错误的原因是什么?

提前致谢!

P.S .: 我现在制作了一个较小版本的WPF。 当我在其中一个ListBoxItem上创建一个MouseClick时,树就可以了。 但是当我在其中一个项目上制作DoubleClick时,树就错了。

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题,即构建器无法在TabControl内找到任何控件,除非我手动搜索它。但是,即使手动添加控件也无法单击控件。

我找到了修复程序here,但在此之后我们很快就不再使用构建器了。所以修复工作正常,但我们没有彻底测试它。

具体部分是:

  

我查看了示例应用程序,发现在使用模板时这似乎是WPF TabControl中的一个错误,您需要在MainStyles.xaml TabControl样式定义中的ContentPresenter中指定正确的“名称”:

     

<ContentPresenter Name="PART_SelectedContentHost" ContentSource="SelectedContent" />

有关此here的更多信息。