Watin C#NUnit IE COM例外

时间:2012-01-10 08:00:13

标签: internet-explorer nunit watin

我使用Watin和Nunit进行测试,所有在Windows 7上运行正常。 但现在我需要在服务器Windows 2008上分享我的测试。 这是一个问题,因为当我尝试Logout然后启动一个新的IE时,我总是遇到异常: System.Runtime.InteropServices.COMException (0x800704A6): Creating an instance of the COM component with CLSID {0002DF01-0000-0000-C000-000000000046} from the IClassFactory failed due to the following error: 800704a6. at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, Boolean createInNewProcess)

我尝试将IE更新为IE 9,同样的问题 我尝试添加一些System.Threading.Thread.Sleep(4000),同样的问题。 我在这一行得到了这个例外:

return new IE(Config.DefaultConfig.HomepageUrl);

感谢您的帮助,

杰罗姆

2 个答案:

答案 0 :(得分:3)

我相信我前一段时间遇到了同样的问题,但是不记得确切的解决方案,所以这里有几个人认为你可以试试:

  1. 您是否添加了对 Interop.SHDocVw Microsoft.mshtml 的引用?
  2. 在他们的属性中,您是否将嵌入互操作类型设置为错误
  3. 希望它有所帮助。如果有一些解决方案出现在我脑海中,我会告诉你。

答案 1 :(得分:0)

我找到了一条不再有这条消息的方法:

return new IE(Config.DefaultConfig.HomepageUrl, true);

在新流程中启动 我添加了一些

System.Threading.Thread.Sleep(4000); 

当Watin需要AttachBrowser。

但问题是现在我得到了一些COMException:

The object invoked has disconnected from its clients. (HRESULT: 0x80010108 RPC E DISCONNECTED)

当我关闭IE弹出窗口时,会显示最后一条消息。关闭此弹出窗口后,它找不到我的主页。

感谢您的帮助,

杰罗姆