t.me/atinfo_chat Telegram группа по автоматизации тестирования

Непрерывная интеграция Python автотестов

Мало информации на просторах сети по-поводу CI автотестов на питоне (с вебдрайвером, или без оного)
Хотелось бы восполнить этот пробел.

Как же построить “с нуля” такую интеграцию?

Скачать Тимсити или Дженкинс не составляет труда, но вот конфигурация - куда сложнее. И одним чтением мануала - у меня не обошлось =\ Как у Вас устроена CI тестов на проектах? Поделитесь примером

Самый первый пост от python-специалиста. Посмотрите, какие плагины он использует и попробуйте с ними разобраться.

1 Симпатия

Все хорошо, кроме того, что Ant и Maven используются для билда Джавы, но не Питона

Т.е. вы считаете, что CI можно использовать только для одного языка? :wink: Или в приведенном списке вы не нашли ничего, связанного с python?

Ну у каждого свои проекты. Мне нужны эти сборщики, а вообще для питона они не нужны.

CI у нас реализуется за счет Buildbot. Проекты девелоперов собираются на Maven, как только в билдбот прилетает post запрос от gitlab о коммите. Слейв запускает мавен скрипты, собирая проект. По зеленому статусу сборки постхуком запускаются build-validation автотесты. Учитывая размеры нашей компании, мы прибегаем не к дорогим энтерпрайзным решениям, а опенсорсу. BVT автотесты под виндоус у нас автоматизированы за счет фреймворка pywinauto ( Python),Buildbot сам написан на Питоне. Найтли билды запускаются из билдбота по расписанию, опять же это все настраивается в главном конфиге билдбота. Ночью проходят уже тяжелые нагрузочные тесты и регрессионные тесты по GUI приложений.

Из красивостей CI и автотестирования: прикрученная генерация html отчетов при помощи Allure фреймворка от Яндекса.

1 Симпатия

Нашел то, что искал.
Поднял сервер Дженкинса на локалхосте, тесты гоняются, репорты пишутся через xmlrunner.
Правда без сборки окружения, т.к. все зависимости стоят, и у меня винда.
Далее планирую разобраться со сборкой окружения в virtualenv и прогоне тестов в нем, но уже на убунту-сервере (по примеру Travis-CI)