编码的UI测试 - 不一致地找到HtmlDocument

时间:2014-09-22 19:14:27

标签: visual-studio-2013 internet-explorer-11 coded-ui-tests

我遇到问题 Visual Studio 2013 的编码用户界面测试框架,以便始终找到HtmlDocument

我刚才刚刚经历过这个问题,它之前的工作非常好。不幸的是,由于我创建了这些测试,很多事情都发生了变化(包括我的Visual Studio和Internet Explorer等版本),所以很难确定导致这种变化的变化。此外,它大约有2/3的时间工作,这使得排除故障变得更加困难。

在我的测试中,我有一组不同的用户登录到测试中的站点并执行各种操作。为了做到这一点,我通过UI测试生成器捕获了在按住shift的同时右键单击Internet Explorer按钮,然后单击“以不同用户身份运行”菜单选项的操作。测试继续输入用户凭据并加载其主页。 (每个用户在我的计算机上都有个人资料,他们都将Google作为他们的主页。)NavigateTo()BrowserWindow的电话允许我加载网站,测试正式从那里开始。< / p>

当我尝试拨打NavigateTo()时出现挂断并发出以下错误:

注意:如果找到主页,则处理任何前面的HtmlDocuments或BrowserWindows都没有问题。

... threw exception.
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException:
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException:
The playback failed to find the control with the given search properties.
Additional Details: 
TechnologyName:  'MSAA'
ControlType:  'Button'
Name:  'Internet Explorer'
---> System.Runtime.InteropServices.COMException:
     Error HRESULT E_FAIL has been returned from a call to a COM component..

编辑:有时我会收到此错误:

...threw exception. Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: Unable to find Windows Internet Explorer window with 'Google - Internet Explorer' in the title. ---> Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: The playback failed to find the control with the given search properties. Additional Details: 
TechnologyName:  'MSAA'
ControlType:  'Window'
Name:  'Google - Internet Explorer'

ClassName:'IEFrame'     ---&GT; System.Runtime.InteropServices.COMException:错误HRESULT E_FAIL已从调用COM组件返回..

我尝试了WaitForBrowserWindow等各种HtmlDocument次来电。

我尝试了try / catch块,如果失败则忘记HtmlDocument并重试(因此会研究HtmlDocument)作为一个以防万一,但这也不起作用。

搜索庞大的知识网络并没有帮助我弄清楚如何解决这个问题(使用BrowserWindowsHtmlDocuments是一件非常简单的事情,我似乎只能找到问题处理寻找具体的控制措施)。

有没有人对我有任何想法或建议我还能尝试什么?

2 个答案:

答案 0 :(得分:1)

好的,我撒了谎。我发现真正修复了它。我在运行测试的机器上给了我的测试帐户管理权限。简单。它可能并不理想,但如果它们受到损害,测试帐户就无法在其他任何地方做任何事情。

它似乎运行没有管理权限的应用程序,然后尝试在Coded UI测试中捕获它失败,因为应用程序运行的权限少于Visual Studio实例。

所以我的基于角色的测试正在运行,而且它们很快。

答案 1 :(得分:0)

我通过减少运行测试的PC上的计算负载来解决这个问题。似乎没有“运行”应用程序“负担”的系统执行得很好。我不知道什么条件会造成“负担”的环境。