运行WatiN测试时的InteropServices.COMException

4 nunit watin

当我在构建服务器上运行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();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么想法可以吗?

/乔金 -

zA.*_*zA. 6

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


Pit*_*ing 5

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

我有一个服务器只用于"UI测试"和许多应用程序de WatiN测试运行没有任何问题.

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

我Finnaly今天早上找到了一个解决方案:我将所有调用替换new IE();new IE(true) WatiN发行说明并且不再出现错误.