2009-06-02 3 views
4

Когда я бегу WatiN тесты на нашем сервере сборки все они бросают это InteropServices.COMException:InteropServices.COMException при запуске WatiN тесты

MyTestClassName.MyTestMethodName: System.Runtime.InteropServices.COMException: Создание экземпляра COM компонент с CLSID {0002DF01-0000-0000-C000-000000000046} из IClassFactory не удалось из-за следующей ошибки: 80004005.

Я получаю тот же результат. Я запускаю их через TeamCity или запускаю их вручную на сервере, так как администратор, использующий графический интерфейс NUnit (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(); 

     } 
    } 
} 

Любые идеи, что это может быть?

/Йоаким

ответ

0

Я думаю, что список выбора еще не полностью загружен и готов, и это еще один симптом той же проблемы, описанной в этом вопросе:

Access denied error (Visual Studio and WatiN)

+0

К сожалению, это не так - все наши WatiN тесты не с теми же исключениями. – 2009-06-09 04:41:10

5

Я также встретиться та же проблема, но более странная для меня.

У меня есть сервер только для «тестирования пользовательского интерфейса», и для многих приложений тест WatiN проходит без проблем.

Эта ошибка происходит только для одного приложения, и только в CruiseControl (с NAnt), но не тогда, когда подножка теста с NUnitGUI ...

Я Finnaly нашла решение сегодня утром: я заменил все мое требование new IE(); к new IE(true)WatiN release note И больше не получал ошибку.

6

Попробуйте использовать Visual Studio в качестве администратора.

2

Каждый раз, когда IE.Quit вызывается WatiN, IE перестает отвечать, а затем пытается восстановить. Запуск в качестве администратора исправил проблему для меня.

2

Another comment говорит:

Try running Visual Studio as Administrator

Это на самом деле NUnit, который должен быть запущен от имени администратора (по крайней мере, в Windows 7), но мышление является правильным.

3

Другой исправление «Включить защищенный режим в IE», как описано here

Смежные вопросы