编码的UI测试无法在WPF应用程序中找到组件

时间:2014-10-24 00:03:36

标签: wpf coded-ui-tests

我试图在我们的应用程序上运行编码的UI测试。我可以录制动作,但是在尝试播放时,我得到了

Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: 
        The playback failed to find the control with the given search properties. 
Additional Details:
TechnologyName:  'UIA'
FrameworkId:  'Wpf'
ControlType:  'MenuItem'
AutomationId:  'MenuItemConnectId'

当我在应用程序上运行Snoop时,我看到AutomationId存在

enter image description here

关于我们的应用程序的一个奇怪的事情是很多ID都添加了代码

        menuItem.SetValue(AutomationProperties.AutomationIdProperty, "MenuItemConnnectId");
        menuItem.SetValue(AutomationProperties.NameProperty, "MenuItemConnect");

任何想法为什么会失败? 感谢。

2 个答案:

答案 0 :(得分:1)

我认为有两个原因: 1.也许该组件找不到该属性。您可以在xxx.Designer.cs文件中看到详细信息。 在方法SearchProperies [] ..... 2.搜索组件的道路已经破碎。您可以在UI控件图中看到详细信息。也许组件的父级是错误的。在这种情况下,您可以添加代码来连接它们。

答案 1 :(得分:0)

原来我需要设置窗口的标题。即使我设置了自动ID和名称属性,看起来引擎使用窗口的标题才能在桌面上找到它。这里有一些细节: MSDN question on Coded UI test fails to find Window (Component)