Skip to content

Jenkins. Создаем первую задачу

Alexander Kireev edited this page Dec 5, 2023 · 2 revisions

Что это такое?

Jenkins — система для обеспечения процесса непрерывной интеграции (CI) программного обеспечения. Jenkins написан на Java и у инструмента открытый исходный код.

Как обычно происходит процесс запуска тестов

Локально

Удаленно

Как создать задачу в Jenkins

Сперва необходимо пройти регистрацию в сервисе облачного тестирования. У Jenkins открытый исходный код, поэтому регистрация бесплатная. Для регистрации необходимо перейти по ссылке, нажать на соответствующую кнопку и пройти пошаговый процесс.

После регистрации или входа мы оказываемся на странице дашборда. Далее необходимо нажать на кнопку «Создать Item».

На открывшейся странице указываем имя задачи и выбираем поле «Создать задачу со свободной конфигурацией».

В блоке управления исходным кодом выбираем Git, вставляем ссылку на репозиторий с кодом тестов и обязательно проверяем правильность написания ветки (main/master).

В параметрах сборки выбираем Invoke Gradle script, кликаем на правильную версию Gradle,указываем имя задачи и сохраняем.

Собрать и запустить тесты можно нажатием кнопки «Собрать сейчас».

Подключаем Allure Report

К Jenkins можно подключить отчеты Allure, но сначала надо убедиться, что система подключена в самом проекте. Подробную инструкцию можно найти по ссылке.

Далее переходим в настройки задачи в Jenkins и в блоке «Послесборочные операции» выбираем Allure Report.

В файле конфигурации браузера надо указать, чтобы тесты запускались не в локальном браузере, а в Selenoid.

Вставляем следующий фрагмент кода:

Configuration.remote = "https://user1:1234@selenoid.autotests.cloud/wd/hub";

Добавляем видео в отчет

В файле конфигурации добавляем код:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("selenoid:options", Map.<String, Object>of(
     "enableVNC", true,
     "enableVideo", true
));
Configuration.browserCapabilities = capabilities;

Далее в классе с Attachments добавляем следующее:

@Attachment(value = "Video", type = "text/html", fileExtension = ".html")
    public static String addVideo() {
        return "<html><body><video width='100%' height='100%' controls autoplay><source src='"
                + getVideoUrl(getSessionId())
                + "' type='video/mp4'></video></body></html>";
    }

    public static URL getVideoUrl(String sessionId) {
        String videoUrl = "https://selenoid.autotests.cloud/video/" + sessionId + ".mp4";

        try {
            return new URL(videoUrl);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static String getSessionId(){
        return ((RemoteWebDriver) getWebDriver()).getSessionId().toString();
    }

И в конце теста вызываем метод:

Attach.addVideo();

Содержание
Командная строка
Кодировка 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