Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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


(rmerkushin) #1

Всем доброго времени суток!
При запуске тестов робота в 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

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


(Dmitriy Zverev) #2

Поставте 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)

(с) https://wiki.jenkins-ci.org/display/JENKINS/Robot+Framework+Plugin


(Mykhailo Poliarush) #3

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


(rmerkushin) #4

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


(rmerkushin) #5

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


(Mykhailo Poliarush) #6

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

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


(rmerkushin) #7

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


(Mykhailo Poliarush) #8

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


(rmerkushin) #9

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