Добрый день хотелось бы узнать по подробней о настройке rebot для сбора отчетов во едино , ибо у меня от наглухо отказывается .
Ситуация вот какая , у меня Мультиджоб в дженкинсе из 3х задач , 2 из них делают тесты в браузерах и нечто похожее :
Шелл таск : rebot --name Browser_Compatibility $WORKSPACE/out/outputCRH.xml $WORKSPACE/out/outputFF.xml
Шелл таск : rebot --name final_report $WORKSPACE/out/final/*.xml
За этим идет робот паблишер(http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html#combining-outputs)
Проблема в том что Jenkins при сборке метит шелл номер два как FAIL и не собирает все до конца
rebot --name Browser_Compatibility /var/lib/jenkins/jobs/SandRobotTest/workspace/out/outputCRH.xml /var/lib/jenkins/jobs/SandRobotTest/workspace/out/outputFF.xml
Log: /var/lib/jenkins/jobs/SandRobotTest/workspace/log.html
Report: /var/lib/jenkins/jobs/SandRobotTest/workspace/report.html
Build step ‘Execute shell’ marked build as failure
Robot results publisher started…
-Parsing output xml:
Failed!
hudson.AbortException: No files found in path /var/lib/jenkins/jobs/SandRobotTest/workspace/out/final with configured filemask: output.xml
Ошибка в запуске тестов. Файлы лога и отчета должны быть с расширением html. естественно что jenkins не может распарсить их в формате xml должны быть только output файлы.
На убунте я поставил робот фреймворк в связке calabash-android.
Затем установил дженкинс. Но т.к. дженкинс создает в системе своего собственного пользователя, то начались проблемы. Часть из них я решил через CHMOD 777 к определенным папкам. Но часть сложно решаема, как пример ошибка на команду:
Execute calabash-android build Test.apk
${output} = jarsigner error: java.lang.RuntimeException: keystore load: /var/lib/jenkins/.android/debug.keystore (No such file or directory)
/var/lib/gems/1.9.1/gems/calabash-android-0.3.5/bin/calabash-android-bu...
Очень не хочется копаться в исходниках калабаша и исправлять там пути.
Есть ли варианты запускать дженкинс от имени моего пользователя в системе?
Но вот дальше не могу продвинуться с запуском браузера из-под jenkins. У меня установлено все на убунту, соответственно есть графическая оболочка.
Если я в роботе прописываю запуск браузера Firefox, то получаю
WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n'
Не хотелось создавать дублирующую тему, у меня пробелма свзяана тоже с Jenkins+RobotFramework.
Есть отдельная машина (windows) на которой поставлен Jenkins (Jenkins ver. 1.562), так же python 2.7, Robot framework, selenium2library.
Все тесты лежат в гите, но есть и локальная копия на тойже машине. (c/git). На Jenkinsе устанволены различные плагины для робота, гита и других. Я создаю простой Job, что бы запустить с этой же машины тест. Если ставлю Execute Windows batch command
Выдается ошибка:
‘pybot’ is not recognized as an internal or external command,
operable program or batch file.
сама команда такая
pybot ./git/Tests/001.txt
В чем у меня ошибка может быть? Почему Jenkins не видит pybot? Локально тест запускается используя команду Pybot test.txt.
Я прописывал пути только на самой машине в PATH. Еще где то надо это прописывать? Если вопрос про это то да, там все прописано. В cmd команды python тоже винды. Локально сами тесты можно запустить. А вот с Jenkins почему то такая ошибка. Попробовал build Execute Windows batch command:
cd “C:\git\Tests”
pybot 001.txt
Вы можете выставить переменные окружения для slave или для билда. Также Вы можете прописать глобальные переменные окружения на машине, перелогиниться и запустить\перезапустить сервис Jenkins.
Спасибо! Перезагрузить сейчас невозможно, но я выцепил ночью время и сделал обновление Jenkins и ребутнул сервис. Теперь Jenkins в systemInfo видит пути до питона, видит пути до IEDriver.
Использую следующую команду
cd “C:\git\Tests”
pybot 001.txt
Получаю ошибку
Parent suite setup failed:
WebDriverException: Message: IEDriver executable needs to be available in the path. Please download from
Питоновские команды теперь выполняет, тест запускается но не может найти путь до эксплорера. В чем может быть загвоздка? Если поменять браузер на ff:
Parent suite setup failed:
Failed to find firefox binary. You can set it by specifying the path to ‘firefox_binary’:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
Удалось побороть? В качестве гадания: от кого запускается сервис jenkins (попробуйте от пользователя, под которым запускаете вручную) и как выставлены права на папку “Y:\IEDriver”
Здравствуйте! Вчера не было совсем на это время, сегодня опять занимаюсь немного локальным дженкинсом. Поборол проблему с путями,Все оказалось как и говорили проблема с путями и правами доступа к IEDriver, перенес на локальный диск и добавил в PATH еще раз. Поерезагрузил сервис и команду теперь видить нормально.
Теперь у меня две проблемы. Первая это то, что я не могу понять почему Robot framework plugin отказывается мне генерировать output логи. По окончанию теста, вот такое выдает:
Robot results publisher started...
-Parsing output xml:
Failed!
hudson.AbortException: No files found in path C:\Programs\Jenkins\workspace\test with configured filemask: output.xml
at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:74)
at hudson.plugins.robot.RobotParser$RobotParserCallable.invoke(RobotParser.java:51)
Если прописать в Job папку куда писать, то выходит получше, но я бы хотел что бы писались логи в тот же workspace где и сам job
Output: C:\Programs\Jenkins\workspace\last_results\output.xml
Log: C:\Programs\Jenkins\workspace\last_results\log.html
Report: C:\Programs\Jenkins\workspace\last_results\report.html
Build step 'Execute Windows batch command' marked build as failure
Robot results publisher started...
-Parsing output xml:
Failed!
C:\Programs\Jenkins\workspace\test\last_results does not exist.
at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:483)
at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:460)
А вторая проблема, это то что как я понял Jenkins запускает сам тест хоть и локально, но на бекграунде. У меня тест запускается он открывает браузер начинает логин и потом фейлится на том, что якобы не видит какой то элемент, на скриншоте виден только черный экран. Вот и не пойму в чем проблема.