首页 > 解决方案 > 为什么 VS2017 CodedUI 测试刚刚停止工作

问题描述

我有一个编码的 UI 测试,它在调试模式下本地运行良好,并且随机停止。它仍然适用于其他开发电脑,但不再适用于我的电脑。

我似乎没有收到任何 Windows 更新或 VS 更新从它工作和没有。它现在正在做的是单击不正确的菜单项,或者即使它存在也找不到要单击的按钮。映射是正确的,并且可以在其他机器上工作,并且它不是时间问题,因为有效等待已经到位,正如我所说,它在其他机器上工作正常。

Visual Studio Version 15.8.6 Enterprise 2017

Internet Explorer 11.0.90

不起作用的输出异常似乎表明缩放异常,但测试不应该尝试缩放

IEDOM:ZoomPercentage:尝试缩放时出现异常

工作时的调试输出如下

672948150154,QTAgent32_40.exe,播放 - {9} [SUCCESS] MouseButtonClick - “[Web]ControlType='Button' && TagName='INPUT' && Id='ctl00_ContentPlaceHolder1_btnNext' && Name='ctl00$ContentPlaceHolder1$btnNext' && FilterCondition( DisplayText='Next', Type='submit', Title='', Class='btn btn-success mr-5 mb-5 btn-xs mr-5', ControlDefinition='name="ctl00$ContentPlaceHolder1$btnNext" ', TagInstance='8')" 线程 0x1ce4 以代码 0 (0x0) 退出。E, 2964, 13, 2018/10/11, 08:48:37.846, 673049974977, QTAgent32_40.exe,异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在可访问性。

E, 2964, 13, 2018/10/11, 08:48:37.853, 673050042429, QTAgent32_40.exe, 异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_State() 的 Accessibility.IAccessible.get_accState(Object varChild) BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

E, 2964, 13, 2018/10/11, 08:48:37.857, 673050081579, QTAgent32_40.exe, 异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 的 Accessibility.IAccessible.get_accRole(Object varChild) BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

E, 2964, 13, 2018/10/11, 08:48:37.860, 673050111131, QTAgent32_40.exe, 异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 的 Accessibility.IAccessible.get_accRole(Object varChild) BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

W, 2964, 13, 2018/10/11, 08:48:38.247, 673053976659, QTAgent32_40.exe, Playback - {10} [SUCCESS] MouseButtonClick - "[Web]ControlType='Hyperlink' && TagName='A' && Id='' && Name='' && Target='' && InnerText='Clubs' && FilterCondition(AbsolutePath='/test.aspx', Title='', 'test.aspx', Class='', ControlDefinition= 'href="test', TagInstance='5')" 线程 0x4b50 已退出,代码为 0 (0x0)。E, 2964, 13, 2018/10/11, 08:48:46.403, 673135533276, QTAgent32_40.exe,异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Accessibility.IAccessible。get_accRole(Object varChild) at Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

E, 2964, 13, 2018/10/11, 08:48:46.407, 673135575029, QTAgent32_40.exe, 异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_State() 的 Accessibility.IAccessible.get_accState(Object varChild) BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

E, 2964, 13, 2018/10/11, 08:48:46.411, 673135615631, QTAgent32_40.exe, 异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 的 Accessibility.IAccessible.get_accRole(Object varChild) BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

E, 2964, 13, 2018/10/11, 08:48:46.414, 673135644030, QTAgent32_40.exe, 异常:System.Runtime.InteropServices.COMException 消息:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。堆栈跟踪:在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 的 Accessibility.IAccessible.get_accRole(Object varChild) BaseExceptionMessage:错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。

W, 2964, 13, 2018/10/11, 08:48:46.524, 673136740553, QTAgent32_40.exe, IEDOMPlugin: 由于有效性检查失败,无法添加属性 Src。禁用 ApplySmartConfiguration 标志以绕过有效性检查。W, 2964, 13, 2018/10/11, 08:48:46.712, 673138627073, QTAgent32_40.exe, Playback - {11} [SUCCESS] MouseButtonClick - "[Web]ControlType='Button' && TagName='INPUT' && Id='ctl00_ContentPlaceHolder1_btnNewClub' && Name='ctl00$ContentPlaceHolder1$btnNewClub' && FilterCondition(DisplayText='Add Club', Type='submit', Title='', Class='btn btn-success mr-5 mb-5 btn -xs mr-5',ControlDefinition='name="ctl00$ContentPlaceHolder1$btnNewCl',TagInstance='8')"

当它不是时的输出

685922211403,QTAgent32_40.exe,播放 - {9} [SUCCESS] MouseButtonClick - “[Web]ControlType='Button' && TagName='INPUT' && Id='ctl00_ContentPlaceHolder1_btnNext' && Name='ctl00$ContentPlaceHolder1$btnNext' && FilterCondition( DisplayText='Next', Type='submit', Title='', Class='btn btn-success mr-5 mb-5 btn-xs mr-5', ControlDefinition='name="ctl00$ContentPlaceHolder1$btnNext" ', TagInstance='8')" W, 10996, 13, 2018/10/11, 09:10:15.374, 686025189722, QTAgent32_40.exe, IEDOM:ZoomPercentage:尝试缩放时出现异常:System.Runtime.InteropServices。 InvalidComObjectException:无法使用已与其基础 RCW 分离的 COM 对象。在 System.StubHelpers。InterfaceMarshaler.ConvertToNative(Object objSrc, IntPtr itfMT, IntPtr classMT, Int32 flags) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(Object punkWebBrowser) 在 Microsoft.VisualStudio.TestTools.UITest.Extension .IE.DocumentManager.get_ZoomPercentage() W, 10996, 13, 2018/10/11, 09:10:15.419, 686025645733, QTAgent32_40.exe, IEDOM:ZoomPercentage:尝试缩放时出现异常:System.Runtime.InteropServices.InvalidComObjectException : 已与其底层 RCW 分离的 COM 对象不能使用。在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass 的 System.StubHelpers.InterfaceMarshaler.ConvertToNative(Object objSrc,IntPtr itfMT,IntPtr classMT,Int32 标志)。PageZoom(Object punkWebBrowser) at Microsoft.VisualStudio.TestTools.UITest.Extension.IE.DocumentManager.get_ZoomPercentage() W, 10996, 13, 2018/10/11, 09:10:15.544, 686026897425, QTAgent32_40.exe, IEDOM : ZoomPercentage :尝试缩放时出现异常:System.Runtime.InteropServices.InvalidComObjectException:无法使用已与其基础 RCW 分离的 COM 对象。在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(Object punkWebBrowser) 在 Microsoft.VisualStudio.System.StubHelpers.InterfaceMarshaler.ConvertToNative(Object objSrc, IntPtr itfMT, IntPtr classMT, Int32 flags)。 TestTools.UITest.Extension.IE.DocumentManager.get_ZoomPercentage() W, 10996, 13, 2018/10/11, 09:10:15.546, 686026913893, QTAgent32_40.exe, IEDOM : ZoomPercentage: 尝试缩放时出现异常:System.Runtime.InteropServices.InvalidComObjectException:无法使用已与其基础 RCW 分离的 COM 对象。在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(Object punkWebBrowser) 在 Microsoft.VisualStudio.System.StubHelpers.InterfaceMarshaler.ConvertToNative(Object objSrc, IntPtr itfMT, IntPtr classMT, Int32 flags)。 TestTools.UITest.Extension.IE.DocumentManager.get_ZoomPercentage() W, 10996, 13, 2018/10/11, 09:10:15.566, 686027113668, QTAgent32_40.exe, IEDOM:ZoomPercentage:尝试缩放时出现异常:System. Runtime.InteropServices.InvalidComObjectException:无法使用已与其基础 RCW 分离的 COM 对象。在 System.StubHelpers.InterfaceMarshaler。ConvertToNative(Object objSrc, IntPtr itfMT, IntPtr classMT, Int32 flags) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(Object punkWebBrowser) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE .DocumentManager.get_ZoomPercentage() W, 10996, 13, 2018/10/11, 09:10:15.576, 686027216184, QTAgent32_40.exe, IEDOM:ZoomPercentage:尝试缩放时出现异常:System.Runtime.InteropServices.InvalidComObjectException:COM无法使用已与其底层 RCW 分离的对象。在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(Object punkWebBrowser) 的 System.StubHelpers.InterfaceMarshaler.ConvertToNative(Object objSrc, IntPtr itfMT, IntPtr classMT, Int32 flags)。

标签: visual-studio-2017automated-testscoded-ui-tests

解决方案


最终我找到了原因,看起来我的 IE 浏览器设置为 110% 缩放(我怀疑是无意中通过键盘),改回 100% 并且测试再次成功开始调试


推荐阅读