【问题标题】:InteropServices.COMException when running WatiN tests运行 WatiN 测试时出现 InteropServices.COMException
【发布时间】:2009-06-02 12:42:39
【问题描述】:

当我在我们的构建服务器上运行 WatiN 测试时,它们都会抛出这个 InteropServices.COMException:

MyTestClassName.MyTestMethodName: System.Runtime.InteropServices.COMException:由于以下错误,从 IClassFactory 创建 CLSID 为 {0002DF01-0000-0000-C000-000000000046} 的 COM 组件实例失败:80004005。

无论是通过 TeamCity 运行它们,还是使用 NUnit GUI (2.5) 以管理员身份在服务器上手动运行它们,我都会得到相同的结果。

这是一些示例代码:

[TestFixture]
public class MyTestClassName
{
    private string pageUrl;

    [TestFixtureSetUp]
    public void TestFixtureSetUp()
    {
        pageUrl = ConfigurationManager.AppSettings["SiteURL"] + "/Pages/MyPage.aspx";

        Settings.MakeNewIeInstanceVisible = false;
    }

    [Test]
    public void MyTestMethodName()
    {
        using (var ie = new IE(pageUrl))
        {
            ie.SelectList(new Regex(@"^*DropDownList1*$")).Option("TheOption").Select();

            ie.SelectList(new Regex(@"^*DropDownList2*$")).Option("AnOption").Select();

            ie.SelectList(new Regex(@"^*DropDownList3*$")).Option("OtherOption").Select();

        }
    }
}

有什么想法吗?

/乔金姆

【问题讨论】:

    标签: nunit watin


    【解决方案1】:

    尝试以管理员身份运行 Visual Studio。

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题,但对我来说更奇怪。

      我有一个服务器仅用于“UI 测试”,并且对于许多应用程序 de WatiN 测试运行没有任何问题。

      此错误仅发生在一个应用程序中,并且仅在 CruiseControl(使用 nant)中发生,但在使用 NUnitGUI 运行测试时不会发生...

      我今天早上终于找到了解决方案:我将所有电话 new IE(); 替换为 new IE(true) WatiN release note 并且不再收到错误消息。

      【讨论】:

        【解决方案3】:

        另一个解决方法是“在 IE 中启用保护模式”,如 here 所述

        【讨论】:

          【解决方案4】:

          WatiN 每次调用 IE.Quit 时,IE 都会停止响应,然后尝试恢复。以管理员身份运行为我解决了这个问题。

          【讨论】:

            【解决方案5】:

            Another comment 说:

            尝试以管理员身份运行 Visual Studio

            实际上是NUnit需要以管理员身份运行(至少在Windows 7中),但思路是正确的。

            【讨论】:

              【解决方案6】:

              我认为选择列表尚未完全加载并准备好,这是此问题中描述的同一问题的另一个症状:

              Access denied error ( Visual Studio and WatiN )

              【讨论】:

              • 不幸的是它不是 - 我们所有的 WatiN 测试都失败了,并出现相同的异常。
              猜你喜欢
              • 2012-01-13
              • 2011-12-07
              • 1970-01-01
              • 2014-05-07
              • 2012-05-02
              • 2017-03-26
              • 2023-03-31
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多