Skip to content

Инструменты: Jenkins

Alex edited this page Mar 27, 2023 · 3 revisions

Jenkins

Каждый день в компаниях по разработке ПО одновременно работает большое количество разработчиков, тестировщиков, исследователей и других технических специалистов. Такое большое количество людей необходимо как-то координировать и снабжать свежими версиями продукта.

Для этого используется Jenkins — веб-приложение, написанное на Java, для обеспечения непрерывной интеграции и непрерывной поставки ПО. Разработчики с помощью Jenkins могут настроить автоматическую сборку проектов и изменения репозитория с кодом, а тестировщики могут легко получить доступ к свежей версии продукта и автоматизировать процесс тестирования.

Работу Jenkins можно рассмотреть на примере большого конвейера на автомобильном заводе, который практически в автоматическом режиме собирает машины из отдельных запчастей, а в самом процессе участвует в разы меньше людей, чем при ручной сборке. Тестировщики используют Jenkins для автоматизации процесса тестирования. Тесты практически всегда состоят из множества модулей и инструментов, которые необходимо связать между собой и вызывать одновременно или поочерёдно. Вручную это бы занимало много времени и для этого понадобились бы отдельные специалисты в команде, а в больших проектах — целый отдел.

С Jenkins тесты можно запускать после выхода каждой новой версии продукта или по заданному расписанию. К тому же Jenkins будет запускать не только код автотестов, но и инструменты для аналитики тестов, сбора данных и формирования отчётов. Всё это будет происходить в автоматическом режиме. Поэтому, если в проекте необходимо каждый час запускать все тесты, это не надо будет делать вручную — можно лишь раз настроить CI-конфигурацию в Jenkins.

Как это работает

Запуск тестов на локальной машине обычно происходит через среду разработки. Она берёт исходный код тестов из памяти компьютера, запускает все подключенные библиотеки, собирает необходимые инструменты и прогоняет тесты в браузере. Всё это происходит на локальном компьютере и доступно одному тестировщику.

В случае с Jenkins тесты запускаются на выделенном сервере, актуальный код берётся из репозитория GitHub, а сами тесты прогоняются в Selenoid. В этом случае результаты тестов доступны не только автору кода, но и всем участникам команды, которые работают над проектом. Запускать тесты тоже может любой участник, что ускоряет разработку.

Установка

Jenkins представляет собой веб-приложение, поэтому его нельзя установить на свой компьютер в виде отдельного приложения. В компаниях обычно разворачивают собственный стенд для тестирования на базе Jenkins. Инструмент полностью бесплатный и обладает открытым исходным кодом, поэтому при необходимости и желании можно развернуть Jenkins и на собственном сервере.

Содержание
Командная строка
Кодировка UTF-8 в Java
Список полезных книг для автоматизаторов тестирования на языке Java
Список полезных книг для автоматизаторов тестирования на языке Python Структура проекта Github README.md

Java:
1. Вводное занятие. Сразу к практике.
2. Git. GitHub. Погружаемся.
3. Погружаемся в инструментарий и библиотеки
4. Основы Java
5. Продолжаем разрабатывать автотесты. PageObjects
6. JUnit 5
7. Allure Reports
8. Работа с файлами
9. Selenide #1
10. Jenkins. Создаем первую задачу
11. Управляем параметрами в коде и в Jenkins
12. Отправляем уведомления о результатах прохождения автотестов
13. Учимся быстро разрабатывать проекты для тестовых заданий
14. Selenoid
15. Библиотека Owner
16. REST API. Пишем автотесты с Rest assured
17. REST API. Декомпозируем UI тесты. Подключаем отчетность
18. REST API. Продолжаем изучать
19. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
20. Allure TestOps
21. Переезд на собственную инфраструктуру Java

Python:
1. Вводное занятие. Сразу к практике!
2. Погружаемся в инструментарий и библиотеки
3. Git. GitHub. Погружаемся.
4. Основы Python
5. Selene #1
6. Основы Python. Часть II
7. Основы Python. Часть III
8. Page Object
9. Allure Reports
10. Работаем с файлами Python
11. Jenkins. Создаем первую задачу и управляем параметрами Python
12. Телеграм бот. Отправляем уведомления о результатах прохождения тестов
13. Pytest
14. Selenoid
15. Pytest. Часть II
16. Venv, Poetry и управление зависимостями проекта
17. REST API. Часть I. Пишем автотесты с Requests
18. REST API. Часть II. Продолжаем изучать
19. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
20. Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android устройства
21. Allure TestOps
22. Переезд на собственную инфраструктуру Python

Clone this wiki locally