Nunit 运行WatiN测试时InteropServices.com异常
当我在构建服务器上运行WatiN测试时,它们都抛出InteropServices.COMException: MyTestClassName.MyTestMethodName: System.Runtime.InteropServices.COMException:由于以下错误,从IClassFactory创建CLSID为{0002DF01-0000-0000-C000-0000000000 46}的COM组件实例失败:80004005 无论是通过TeamCity运行它们,还是作为管理员使用NUnit GUI(2.5)在服务器上手动运行它们,我都会得到相同的结果 这是一些示例代码: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
[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测试都会失败,出现相同的异常。