2017-02-27 102 views
2

我收到以下错误中途我的记录编码的UI测试中的WinFormsUITestControlNotAvailableException在编码的UI测试

Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException: The following element is no longer available: Name [], ControlType [Window], NativeControlType [window], ClassName [WindowsForms10.Window.8.app.0.2a125d8_r17_ad1], RuntimeId [197812] Additional Details:

我最初的想法是,它有事可做的事实,我试图访问模态窗口中的控件(通过ShowDialog显示),但独立的项目证明我错了。我真的不知道如何去解决这个问题。这是有点怀疑,在错误消息中没有控制名称。

我收到以下错误中途我的记录编码的UI测试中的WinForms

Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException: The following element is no longer available: Name [], ControlType [Window], NativeControlType [window], ClassName [WindowsForms10.Window.8.app.0.2a125d8_r17_ad1], RuntimeId [197812] Additional Details:

我最初的想法是,它有事可做的事实,我想访问控制在一个模式窗口(通过ShowDialog显示),但一个独立的项目证明我错了。我真的不知道如何去解决这个问题。这是有点怀疑,在错误消息中没有控制名称。

编辑:添加日志记录,所以这里有一些更多的细节。这可能与Windows是一个对话框有关。

Type 'cipher' in 'tbxFedId' text box0:00.376 
The following element is no longer available: Name [], ControlType [Window], NativeControlType [window], ClassName [WindowsForms10.Window.8.app.0.2a125d8_r17_ad1], RuntimeId [4260726] Additional Details: TechnologyName: 'MSAA' ControlType: 'Edit' 
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException 
at Microsoft.VisualStudio.TestTools.UITesting.Playback.AddUITestControlDescriptionToException(Exception exception, IPlaybackContext context) 
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(Exception exception, IPlaybackContext context) 
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(Exception exception, String actionName, UITestControl uiControl) 
at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(Exception exception, String actionName, Object parameterValue, UITestControl uiControl) 
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.SetPropertyValue(String propertyName, Object propertyValue) 
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.SetPropertyPrivate(String propertyName, Object value) 
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl+<>c__DisplayClass180_0.<SetProperty>b__0() 
at Microsoft.VisualStudio.TestTools.UITesting.CodedUITestMethodInvoker.InvokeMethod(Func`1 function, UITestControl control, Boolean firePlaybackErrorEvent, Boolean logAsAction) 
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.SetProperty(String propertyName, Object value) 
at Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinEdit.set_Text(String value) 
at UI.Test.UIMap.RecordedMethod1() 
in C:\Users\pg2\Documents\Visual Studio 2015\Projects\ADTrack\UI.Test\UIMap.Designer.cs:line 68 
at UI.Test.CodedUITest1.CodedUITestMethod1() 
in C:\Users\pg2\Documents\Visual Studio 2015\Projects\ADTrack\UI.Test\CodedUITest1.cs:line 31 
The following element is no longer available: Name [], ControlType [Window], NativeControlType [window], ClassName [WindowsForms10.Window.8.app.0.2a125d8_r17_ad1], RuntimeId [4260726] 
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException 
at Microsoft.VisualStudio.TestTools.UITest.Framework.AbstractUITestService.MapAndThrowException(Exception ex, IUITechnologyElement element) 
at Microsoft.VisualStudio.TestTools.UITest.Framework.AbstractUITestService.GetParent(UITechnologyElement element) 
at Microsoft.VisualStudio.TestTools.UITesting.WinPropertyProvider.IsDatagridElement(UITestControl uiControl) 
at Microsoft.VisualStudio.TestTools.UITesting.WinPropertyProvider.SetEditProperty(String propertyName, Object value) 
at Microsoft.VisualStudio.TestTools.UITesting.WinPropertyProvider.SetPropertyValue(UITestControl uiControl, String propertyName, Object value) 
at Microsoft.VisualStudio.TestTools.UITesting.UITestPropertyProvider.SetPropertyValueWrapper(UITestControl uiControl, String propertyName, Object value) 
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.SetPropertyValue(String propertyName, Object propertyValue) 
Error HRESULT E_FAIL has been returned from a call to a COM component. 
System.Runtime.InteropServices.COMException 
at Microsoft.VisualStudio.TestTools.UITest.Extension.IUITechnologyManager.GetParent(IUITechnologyElement element) 
at Microsoft.VisualStudio.TestTools.UITesting.UITechnologyManagerProxy.GetParent(IUITechnologyElement element) 
at Microsoft.VisualStudio.TestTools.UITest.Framework.AbstractUITestService.GetParent(UITechnologyElement element) 
The control : "Technology Name: 'MSAA';Search Configuration: 'VisibleOnly'; Search Properties - ControlType : 'Window',ControlName : 'tableLayoutPanel1',Instance : '2'" could not be found under the container : "Search Configuration: 'VisibleOnly'; Search Properties - ControlType : 'Window',Name : 'Employer Picker',ClassName : 'WindowsForms10.Window'". 
Technology Name: 'MSAA' 
Search Configuration: 'VisibleOnly' 
Search Properties - 
    ControlType : 'Edit' 
Value set : 'cipher' 
+0

http://stackoverflow.com/a/27527105/546871中的答案可能有所帮助。关于使用多个'DrawHighLight'调用的底部部分值得尝试。 – AdrianHHH

+0

它可以找到突出显示中的每个控件,但仍然无法输入文本。 – PBG

+0

我能够在一个单独的项目中重新创建问题,现在我知道Telerik RadTextBox是导致问题的原因。如果我甚至找到解决方案,我会更新。 – PBG

回答

0

这竟然是与Visual Studio 2015和问题,这只是正常工作在VS 2012 2013年

如果它是相关的,我是想针对特定的控制是一个RadTextbox。