【问题标题】:ASP.NET Unit Testing - WatiN and Windows 7 / Internet Explorer 8ASP.NET 单元测试 - WatiN 和 Windows 7 / Internet Explorer 8
【发布时间】:2010-03-17 18:31:55
【问题描述】:

让 WatiN 在 Win7/IE8 上运行有什么技巧吗?

我的代码:

    browser = new IE();
    browser.GoTo("http://testserver");
    browser.TextField(Find.ByName("txtUser")).TypeText("tyndall");

第三行从来没有真正运行过,我得到一个错误:

System.Runtime.InteropServices.COMException : RPC 服务器不可用。 (HRESULT 异常:0x800706BA)

第二行似乎在运行。 IE8 出现并导航到正确的 URL。

【问题讨论】:

  • 您使用的是哪个版本的 WatiN?最新的官方版本(1.3.0)不支持IE8,但是2.0 RC应该没问题。
  • 和 Internet Explorer 8.0.7600.16385
  • 我收到类似的错误:System.Runtime.InteropServices.COMException:请求的资源正在使用中。 (HRESULT 例外:0x800700AA)在 WatiN.Core 的 WatiN.Core.Native.InternetExplorer.IEBrowser.NavigateTo(Uri url) 的 SHDocVw.InternetExplorerClass.Navigate2(Object& URL, Object& Flags, Object& TargetFrameName, Object& PostData, Object& Headers)。 WatiN.Core.Browser.GoTo(String url) 处的 Browser.GoTo(Uri url)

标签: .net unit-testing internet-explorer automation watin


【解决方案1】:

以管理员身份运行 Visual Studio 为我解决了这个问题。 (带有 WatiN 2.0.20 的 Visual Studio 2008)。

【讨论】:

  • 在本地工作,知道如何在 TeamCity 中实现这一目标吗?
  • 如果任何应用程序抛出错误使用以管理员身份运行,而不仅仅是 Visual Studio
【解决方案2】:

重启机器

Windows 更新妨碍了实例化新 COM 对象。

有关详细信息,请参阅我对此问题的回答:

WatiN, NUnit and CruiseControl.NET-- Error message 800704a6

【讨论】:

    【解决方案3】:

    避免以管理员身份运行 Visual Studio 或 NUnit 的另一种选择是在计算机级别禁用 UAC,如果您以最低权限运行(应该如此),这不应该是安全问题。

    【讨论】:

    • +1;我关闭了 UAC,将用户添加到管理员组,WatiN 测试开始在我的构建代理上运行。
    【解决方案4】:

    在win 7 sp1中
    降低用户配置管理的安全级别

    【讨论】:

    • 我是否错过了 SP1 补丁?您的意思是 Windows 用户安全屏幕,对吗?我会试一试。 +1
    【解决方案5】:

    我开始遇到相同的异常:“System.Runtime.InteropServices.COMException:RPC 服务器不可用。”在开发人员工具窗格打开时关闭 IE 后。

    按 F12 关闭开发人员窗格,并确保在关闭 IE 时将其关闭(IE 会记住启动时的状态)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-29
      • 2012-06-07
      • 1970-01-01
      • 2010-10-09
      • 2010-10-09
      • 2013-02-01
      • 2011-07-09
      相关资源
      最近更新 更多