Запуск тестов в Jenkins под Windows

Всем доброго времени суток!
При запуске тестов робота в Jenkins под Win столкнулся с такой проблемой, в одном job’е у меня запускается несколько тестов и если какой то из них завершается с фейлами job завершается. Под Linux’ом у меня такой проблемы небыло. Тест запускается через Execute Windows batch command в котором запускается для каждого теста такой bat’ник:

set TEST_HOME=%~dp0
For /D %%a In ("%TEST_HOME:~0,-1%.txt") Do Set TEST_NAME=%%~na
chdir /d %TEST_HOME% && pybot --outputdir D:\Robot\test_results --log %TEST_NAME%-log.html --report %TEST_NAME%-report.html --output %TEST_NAME%.xml %TEST_NAME%.txt

В чем может быть проблема?

Поставте exit 0
Пример:

pybot --loglevel INFO --outputdir %WORKSPACE%\output\release_stand --exclude develop --xunit xunit.xml --reportbackground white:white:white --monitorwidth 150 --reporttitle "Check release stand" --noncritical noncritical --randomize suites %WORKSPACE%\test\release_stand\test & exit 0

А при помощи robot framework plugin обрабатывайте результаты

Подробнее:

4.Force your Robot script to return successfully from shell with “exit 0” to empower the plugin in deciding if the build is success/failure (by default Robot exits with error code when there’s any failed tests)

(с) Robot Framework

1 лайк

А с какой ошибкой фейлится джоб?

Да самое интересное что никакой ошибки небыло, просто джоб завершался как неудачный. Для примера: у меня в тесте 3 вызова Execute Windows batch command с выполнением pybot’а и один для вызова rebot чтобы собрать результаты в один файл. Если фейлится 2ой тест, то 3й не запускается, но при этом запускается команда для rebot )

Спасибо, попробую :slight_smile:

А тесты проходят в тест свитах?

Прикрепите скриншоты ваших джобов

К сожалению скринов не осталось. Но добавление exit 0 помогло, и теперь все тесты запускаются.

Выложите плиз тогда пример батника, чтобы осталось решение для других участников. Спасибо.

Bat’ник для запуска тестов:

set TEST_HOME=%~dp0
For /D %%a In ("%TEST_HOME:~0,-1%.txt") Do Set TEST_NAME=%%~na
chdir /d %TEST_HOME% && pybot --outputdir D:\Robot\test_results --log %TEST_NAME%-log.html --report %TEST_NAME%-report.html --output %TEST_NAME%.xml %TEST_NAME%.txt & exit 0

Bat’ник для отключения прокси в IE (из-за него у меня не пашет Selenium :smile: ):

Reg Add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /V ProxyEnable /T REG_DWORD /D 0 /F
1 лайк