【问题标题】:Why have VS2017 CodedUI tests Just Stopped Working为什么 VS2017 CodedUI 测试刚刚停止工作
【发布时间】:2018-10-11 10:14:52
【问题描述】:

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

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

Visual Studio Version 15.8.6 Enterprise 2017

Internet Explorer 11.0.90

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

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

工作时的调试输出如下

W, 2964, 13, 2018/10/11, 08:48:22.121, 672892725381, QTAgent32_40.exe, 播放 - {8} [成功] EnsureVisible - "[Web]ControlType='ComboBox' && TagName='SELECT' && id='ctl00_ContentPlaceHolder1_ddlStore' && 名称='ctl00$ContentPlaceHolder1$ddlStore' && FilterCondition(LabeledBy='', Size='0', Title='', ItemCount='545', 类='form-control05', ControlDefinition='name="ctl00$ContentPlaceHolder1$ddlStore', TagInstance='1')" W, 2964, 13, 2018/10/11, 08:48:27.489、672946394526、QTAgent32_40.exe、IEDOMPlugin:无法添加 属性 Src 作为有效性检查失败。禁用 ApplySmartConfiguration 标志绕过有效性检查。 W, 2964, 13, 2018/10/11, 08:48:27.664, 672948150154, QTAgent32_40.exe, Playback - {9} [SUCCESS] MouseButtonClick - "[Web]ControlType='Button' && TagName='INPUT' && id='ctl00_ContentPlaceHolder1_btnNext' && 名称='ctl00$ContentPlaceHolder1$btnNext' && FilterCondition(DisplayText='Next', Type='submit', Title='', Class='btn btn-success m-r-5 m-b-5 btn-xs m-r-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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accRole(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() BaseExceptionMessage:错误 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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accState(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_State() 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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accRole(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accRole(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() BaseExceptionMessage:错误 HRESULT E_FAIL 已从 调用 COM 组件。

W, 2964, 13, 2018/10/11, 08:48:38.247, 673053976659, QTAgent32_40.exe, 播放 - {10} [成功] MouseButtonClick - "[Web]ControlType='Hyperlink' && TagName='A' && Id='' && Name='' && 目标='' && InnerText='俱乐部' && 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) 在 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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accState(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_State() 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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accRole(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 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 组件的调用中返回。 堆栈跟踪:在 Accessibility.IAccessible.get_accRole(Object varChild) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.Msaa.AccWrapper.get_RoleInt() 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、播放 - {11} [成功] MouseButtonClick - "[Web]ControlType='Button' && TagName='INPUT' && id='ctl00_ContentPlaceHolder1_btnNewClub' && 名称='ctl00$ContentPlaceHolder1$btnNewClub' && FilterCondition(DisplayText='添加俱乐部', Type='提交', Title='', Class='btn btn-success m-r-5 m-b-5 btn-xs m-r-5', ControlDefinition='name="ctl00$ContentPlaceHolder1$btnNewCl', TagInstance='8')"

当它不是时的输出

W, 10996, 13, 2018/10/11, 09:09:59.532, 685866771965, QTAgent32_40.exe,播放 - {8} [成功] EnsureVisible - "[Web]ControlType='ComboBox' && TagName='SELECT' && id='ctl00_ContentPlaceHolder1_ddlStore' && 名称='ctl00$ContentPlaceHolder1$ddlStore' && FilterCondition(LabeledBy='', Size='0', Title='', ItemCount='545', 类='form-control05', ControlDefinition='name="ctl00$ContentPlaceHolder1$ddlStore', TagInstance='1')" W, 10996, 13, 2018/10/11, 09:10:04.900、685920458422、QTAgent32_40.exe、IEDOMPlugin:无法添加 属性 Src 作为有效性检查失败。禁用 ApplySmartConfiguration 标志绕过有效性检查。 W, 10996, 13, 2018/10/11, 09:10:05.075, 685922211403, QTAgent32_40.exe, Playback - {9} [SUCCESS] MouseButtonClick - "[Web]ControlType='Button' && TagName='INPUT' && id='ctl00_ContentPlaceHolder1_btnNext' && 名称='ctl00$ContentPlaceHolder1$btnNext' && FilterCondition(DisplayText='Next', Type='submit', Title='', Class='btn btn-success m-r-5 m-b-5 btn-xs m-r-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:COM 对象 已与其底层 RCW 分离的不能使用。在 System.StubHelpers.InterfaceMarshaler.ConvertToNative(对象 objSrc, IntPtr itfMT、IntPtr classMT、Int32 标志)在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(对象 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:COM 无法使用已与其底层 RCW 分离的对象。 在 System.StubHelpers.InterfaceMarshaler.ConvertToNative(对象 objSrc、IntPtr itfMT、IntPtr classMT、Int32 标志)在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(对象 punkWebBrowser) 在 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:COM 无法使用已与其底层 RCW 分离的对象。 在 System.StubHelpers.InterfaceMarshaler.ConvertToNative(对象 objSrc、IntPtr itfMT、IntPtr classMT、Int32 标志)在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(对象 punkWebBrowser) 在 Microsoft.VisualStudio.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:COM 无法使用已与其底层 RCW 分离的对象。 在 System.StubHelpers.InterfaceMarshaler.ConvertToNative(对象 objSrc、IntPtr itfMT、IntPtr classMT、Int32 标志)在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(对象 punkWebBrowser) 在 Microsoft.VisualStudio.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:COM 无法使用已与其底层 RCW 分离的对象。 在 System.StubHelpers.InterfaceMarshaler.ConvertToNative(对象 objSrc、IntPtr itfMT、IntPtr classMT、Int32 标志)在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(对象 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 分离的对象。 在 System.StubHelpers.InterfaceMarshaler.ConvertToNative(对象 objSrc、IntPtr itfMT、IntPtr classMT、Int32 标志)在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.Communication.Interop.IECommunicatorClass.PageZoom(对象 punkWebBrowser) 在 Microsoft.VisualStudio.TestTools.UITest.Extension.IE.DocumentManager.get_ZoomPercentage() W, 10996, 13, 2018/10/11, 09:10:15.725, 686028707079, QTAgent32_40.exe,播放 - {10} [成功] MouseButtonClick - "[Web]ControlType='Hyperlink' && TagName='A' && Id='' && Name='' && Target='' && InnerText='Store Clubs' && FilterCondition(AbsolutePath='/test.aspx', Title='', Href='test.aspx', Class='', ControlDefinition='href="test', TagInstance='5')"

【问题讨论】:

  • 既然之前运行良好,那肯定是发生了一些变化。您运行的 IE 版本是否与其他机器上的完全相同?例外提到 RCW。您可以在此处找到有关该对象的更多信息:en.wikipedia.org/wiki/Runtime_Callable_Wrapper
  • 我想到的另一件事是您系统上的某些内容可能已损坏,从而导致该错误。事件查看器是否显示任何可能与 IE 相关的错误。您也可以使用 DISM.exe 和 FSC.exe 来检查您的系统并进行修复。您是否尝试过在“打开或关闭 Windows 功能”中关闭和打开 IE 功能?
  • @PixelPlex 是的,我尝试关闭 IE 并将其重新打开,不幸的是没有任何区别,是的,我运行与其他机器相同版本的 IE。事件查看器中出现错误故障存储桶 1819647644825307050,类型 5 事件名称:IENonFatalError 响应:不可用 Cab Id:0 问题签名:P1:iexplore.exe P2:11.0.17134.1 P3:c9403716 P4:网络工具 P5:11.0.17134.1 P6:24674e02 P7:common/editor/vs/loader.js P8:4 P9:检查依赖列表!同步要求无法解析模块“serviceHub”。这是第一次提到这个模块! P10:F12
  • @PixelPlex 似乎是随机的,但如果屏幕上显示“您想存储密码”消息,它似乎找到了控件,当它隐藏或消失时,它似乎有问题?有什么想法吗?
  • 您的评论让我想起了this 我从@AdrianHHH 读到的答案。我不确定如何将此与您关于缩放的异常联系起来。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 2014-12-12
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    相关资源
    最近更新 更多