WatiN через TFS на Windows 2008 Server

2

Я пытаюсь запустить тесты WatiN через непрерывную сборку на TFS, но я не могу заставить его работать. Я получаю следующее:

WatiN.Core.Exceptions.IENotFoundException : Could not find an IE window matching constraint: Timeout while waiting to attach to newly created instance of IE.. Search expired after '30' seconds.
     at WatiN.Core.IE.CreateIEPartiallyInitializedInNewProcess()
     at WatiN.Core.IE.CreateNewIEAndGoToUri(Uri uri, IDialogHandler logonDialogHandler, Boolean createInNewProcess)
     at WatiN.Core.IE..ctor(String url, Boolean createInNewProcess)

Я читал, что это может быть причиной

  • Запросы для "localhost" будут разрешены к адресу IPv6:: 1 по умолчанию а не IPv4-адрес 127.0.0.1 и тесты WatiN не удастся.

Это не так, потому что я тестирую открытый URL не на локальной машине.

  • Расширенная настройка безопасности IE

Я отключил это без каких-либо результатов.

  • Отсутствующие файлы Microsoft.mshtml.dll, Interop.shdocvw.dll или Watin.Core.dll

Проверьте и дважды проверьте! У меня есть те, в моем выходном каталоге, где выполняются тесты.

Последний и последний тест состоял в том, чтобы войти в систему как пользователь, который запускает сборку, и выполняет набор тестов NUnit и запускает тесты вручную.

C:\Users\TFSSERVICE>"C:\Program Files\Nunit 2.5.2\bin\net-2.0\nunit-console.exe"
 /nologo C:\Users\BUILDSERVICE\AppData\Local\Temp\\Continuous\Binaries\Release
\\WebTests.dll

Угадайте, что! Он выполняет их вручную, как пользователь сборки tfs. Итак, что мне здесь не хватает? Есть ли какие-либо идеи, почему он просто держит тайм-аут, когда я запускаю двигатель msbuild?

Любая мысль приветствуется! Микаэл

Теги:
tfs
windows-server-2008
watin

2 ответа

5
Лучший ответ

Судя по ошибке, он ищет окно Intenet Explorer. Который он не сможет найти, если процесс сборки запускается службой.

EDIT: Раньше я сказал, что не знаю, как это исправить. Хотя я этого не делаю, эта страница. Найдите раздел под названием "Автоматизированные тесты пользовательского интерфейса". Это должно работать и для WatiN.

  • 0
    Ты мой герой дня! Спасибо! Это была именно моя проблема, и решение оказалось проще, чем я думал. Слава тебе!
  • 0
    Если это поможет, я разместил предложение о том, чтобы позволить сервису сборки взаимодействовать с рабочим столом, я искал название сервиса, когда нашел статью, на которую я ссылался. Общая удача с моей стороны. Ранее я также искал способ запустить модульное тестирование пользовательского интерфейса из службы сборки TFS, поэтому я рад, что нашел его.
0

Я нашел причину этой проблемы после отладки Watin.
Причиной является пропущенная dll: Microsoft.mshtml.dll.

Windows Server 2008 не имеет этого файла на плате, поэтому такая ошибка возникает.

Решение:
- взять Microsoft.mshtml.dll из Windows 7; - скопировать в корневой каталог приложения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню