InteropServices.COMException при запуске тестов WatiN

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

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();

        }
    }
}

Есть идеи, что это может быть?

/ Иоаким


person Community    schedule 02.06.2009    source источник


Ответы (6)


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

person zA.    schedule 09.11.2009

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

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

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

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

person Pitming    schedule 17.09.2009

Еще одно исправление - «Включить защищенный режим в IE», как описано в здесь

person Alex from Jitbit    schedule 07.06.2014

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

person Brandon    schedule 04.11.2010

Другой комментарий гласит:

Попробуйте запустить Visual Studio от имени администратора

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

person David Beckman    schedule 09.02.2011

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

Ошибка отказа в доступе (Visual Studio и WatiN)

person Bruce McLeod    schedule 09.06.2009
comment
К сожалению, это не так - все наши тесты WatiN терпят неудачу с одним и тем же исключением. - person ; 09.06.2009