Использование различных CI совместно с Robot Framework

Интересует следующий вопрос: кто-то пробовал подключать Robot Framework к различным системам Continuous Integration (больше всего интересуют TeamCity, Jenkins и Bamboo)?
Насколько я понимаю, самый простой способ - это Jenkins. И даже есть специальный плагин. С TeamCity и Bamboo будет посложнее, но, почитав интернет, понял, что возможно.
В общем, интересует любой опыт: удачный, неудачный, особенности, насколько это правильно и т. д.

P.S.: Откуда возник вопрос.
В данный момент на рабочем проекте используется TeamCity, но возможен переезд на Bamboo или Jenkins. В качестве фреймворка автоматизации выбран Robot Framework (а также Python + Selenium).

Для Jenkins обычно достаточно Robot Framework
Но в целом можно интегрировать любую CI-систему, если она поддерживает публикацию JUnit. Robot в этом случае можно вызывать через CLI и публиковать репорты

В таком случае отчёты будут уже не в формате Robot Framework, а в формате JUnit?

Верно. Robot’овские отчёты можно отлично и в HTML публиковать, если не требуется автоматизированной обработки. В свое время так с TeamCity и TFS делали. Но Jenkins сильно упрощает задачу в данном случае.

А с самим запуском тестов RF в CI-системах проблем не возникало? Интересует скорее даже прикручивание RF к CI + запуск тестов, например, при появлении нового билда.
С Jenkins-то, наверно, вряд ли могли быть проблемы - но тоже интересно. А так - больше хочется послушать про TeamCity и Bamboo.

Запускайте тесты через shell\bat в jenkins\teamcity, а отчеты шлите через почту или публикуйте на каком нибудь веб серваке а ссылку на отчет письмом. Плагины в принципе не нужны )

P.S. если нужны какие то графики, никто не мешает делать отчеты в двух видах html и xUnit

1 лайк

Попробовал все 3.
Robot Framework умеет выводить результаты тестов в формат xunit (параметр xunit), что позволяет обрабатывать их в любом CI. Также в этих CI можно отображать html, генерируемый роботом.
В jenkins удобной фичей, которой нет в TeamCity и Bamboo является указание порогов количества успешных тестов

Запуск тестов одинаков во всех CI - через pybot\jybot\pabot. Сейчас реализовали в docker

Это уже функциональность самих CI, а не особенности работы робота в них