Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nunit 运行WatiN测试时InteropServices.com异常_Nunit_Watin - Fatal编程技术网

Nunit 运行WatiN测试时InteropServices.com异常

Nunit 运行WatiN测试时InteropServices.com异常,nunit,watin,Nunit,Watin,当我在构建服务器上运行WatiN测试时,它们都抛出InteropServices.COMException: MyTestClassName.MyTestMethodName: System.Runtime.InteropServices.COMException:由于以下错误,从IClassFactory创建CLSID为{0002DF01-0000-0000-C000-0000000000 46}的COM组件实例失败:80004005 无论是通过TeamCity运行它们,还是作为管理员使用NU

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

MyTestClassName.MyTestMethodName: System.Runtime.InteropServices.COMException:由于以下错误,从IClassFactory创建CLSID为{0002DF01-0000-0000-C000-0000000000 46}的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();

        }
    }
}
有什么想法吗


/Joakim

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


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

我有一个服务器,只用于“UI测试”和许多应用程序的测试运行,没有任何问题

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


今天早上我终于找到了一个解决办法:我把所有的电话都换成了新的IE()到
新IE(true)
并且不再收到错误。

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

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

说:


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


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

另一个修复方法是“在IE中启用受保护模式”,如前所述

不幸的是,事实并非如此-我们所有的WatiN测试都会失败,出现相同的异常。