Спасибо за столь развернутый ответ!
Есть вопросы.
Для начала опишу что сделано:
Есть комп_1 (Windows 7 x64), на котором установлен TeamCity сервер.
На комп_2 устанавливаем: Gallio, .Net Framework 4.0, TeamCity агент.
В TeamCity создан проект с запуском на агенте комп_2, Build Configuration c двумя Build Steps - первый билдит, второй запускает.
Первый шаг проходит, со вторым проблемы.
Раньше тесты запускал Windows Task Scheduler с батника, в котором прописано следующее:
"c:\Program Files\Gallio\bin\Gallio.Echo.exe" D:\Projects\Auto\trunk\DNet.AT\bin\Debug\DNet.AT.dll /f:"Type:DailyReport and Member:AlertsDailyCount" /rd:"D:\Projects\Auto\trunk\DNet.AT\bin\Debug\Reports" /rnf:"Daily Report for {0} at {1}" /rt:"html" /sr
если скопировать это в Custom script поле второго степа, то билд падает вот так:
Exit code 10
Build errors
[19:03:29] Step 2/2: second_step (Command Line)
[19:03:30] [Step 2/2] Step second_step (Command Line) failed
Не знаю пока в чем проблема моего скрипта, попытался запустить блокнот:
"C:\Windows\notepad.exe"
В итоге второй степ у меня крутился 5 минут, пока я его не остановил.
Посему возникли вопросы:
-
а как вообще сервис (а агент запускаєтся как сервис) может работать с GUI приложением в Windows, это возможно? Если да, то что с блокнотом не так?
-
второе:
Тесты делают скриншоты так:
TestLog.EmbedImage( "title" , Capture.Screenshot() );
и вот так:
Capture.AutoEmbedScreenshot( TriggerEvent.TestFailedOrInconclusive , "Last screen" , new CaptureParameters() { Zoom = 0.4 } );
но если в момент снятия скрина комп будет залочен, Gallio не прикрепит скрин в отчет (или ошибка, или белое окно). Пришлось не лочить при запуске тестов. (Почему не использовать инструмент вебдрайвера для скринов? Потому что у нас на страницах плагины Flash и PDF, их драйвер не видит внутри)
Вопрос, собственно, как с этим справится агент TeamCity?