ASP.NET单元测试 - WatiN和Windows 7 / Internet Explorer 8

4
有没有什么小技巧可以让WatiN在Win7/IE8上运行?
我的代码:
    browser = new IE();
    browser.GoTo("http://testserver");
    browser.TextField(Find.ByName("txtUser")).TypeText("tyndall");

第三行代码并没有真正运行,我得到了一个错误提示:

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

第二行代码似乎是可以运行的。IE8浏览器已经打开,并且导航到了正确的URL。


你使用的是哪个版本的WatiN?最新的官方发布版(1.3.0)无法与IE8兼容,但2.0 RC应该可以。 - Sam Warwick
和Internet Explorer 8.0.7600.16385。 - BuddyJoe
我遇到了类似的错误:System.Runtime.InteropServices.COMException:请求的资源正在使用中。(HRESULT 异常:0x800700AA)在 SHDocVw.InternetExplorerClass.Navigate2(Object& URL, Object& Flags, Object& TargetFrameName, Object& PostData, Object& Headers) 处发生。 在 WatiN.Core.Native.InternetExplorer.IEBrowser.NavigateTo(Uri url) 处发生。 在 WatiN.Core.Browser.GoTo(Uri url) 处发生。 在 WatiN.Core.Browser.GoTo(String url) 处发生。 - Chris Missal
5个回答

6
以管理员身份运行Visual Studio解决了我的问题。(Visual Studio 2008与WatiN 2.0.20)。

本地工作了,有没有办法在TeamCity中实现这个? - Louis Somers
如果任何应用程序抛出错误,请使用管理员身份运行,而不仅仅是Visual Studio。 - Mukesh Methaniya

2
避免以管理员身份运行Visual Studio或NUnit的另一种选择是在机器级别上禁用UAC,如果您使用最低特权(应该是这样),那么这不应该是安全问题。

+1;我关闭了UAC,将用户添加到管理员组,并且WatiN测试开始在我的构建代理上工作。 - Duncan Bayne

2

1

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


我错过了SP1补丁吗?你是指Windows用户安全屏幕,对吧?我会试一下的。+1 - BuddyJoe

1
我开始遇到相同的异常:“System.Runtime.InteropServices.COMException:RPC 服务器不可用。”在关闭 IE 时,开发人员工具窗格仍然打开。
按 F12 关闭开发人员窗格,并确保每当您关闭 IE 时它都是关闭的(IE 在启动时记住状态)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接