В Интернете доступно множество документации для Jenkins и TestCafe. Эта статья предназначена для начинающих, чтобы начать работу с непрерывной интеграцией без образа Docker. Я напрямую сослался на некоторые онлайн-документы и добавил несколько шагов, где это необходимо для получения дополнительной информации.
Эта статья, являющаяся частью Что такое непрерывная интеграция, состоит из 3 разделов:
- Установка и настройка Дженкинса
- Настройка Дженкинса с помощью TestCafe
- Просмотр результатов теста в рабочей области Jenkins
Установка и настройка Дженкинса
- Установите Java 8 или 11 или OpenJDK.
- Далее устанавливаем Дженкинс.
- После завершения установки запустите Jenkins в своем терминале (macOS) или в командной строке (Windows) в соответствии с инструкциями по установке для соответствующей платформы.
- Далее в браузере введите
http://localhost:8080
. Вам будет предложено следовать инструкциям по настройке следующих
- Разблокировка Jenkins с паролем, сгенерированным во время установки
- Установка стандартных плагинов
- Создание пользователя-администратора
- Настройка URL-адреса вашего домена, если вы не хотите использовать localhost
5. Наконец, когда все вышеперечисленные шаги будут выполнены, вы должны увидеть «Jenkins is ready» в своем браузере.
Настройка Дженкинса с помощью TestCafe
Во-первых, вам нужно установить пару плагинов Jenkins.
- Для этого упражнения вы можете выполнить шаги до № 2 в этом документе плагина.
- Выберите последнюю версию nodeJS LTS, указанную на их [веб-сайте], во время установки этого плагина.
2. Плагин Git Parameter Jenkins
- Таким образом, вы можете указать параметры git, такие как
branch
, с которыми вы хотите, чтобы ваша сборка работала.
После того, как вы установили необходимые плагины Jenkins, перейдите к настройке TestCafe для запуска тестов из вашего репозитория Git. Это похоже на то, как вы запускаете свои тесты локально:
- Вам необходимо установить TestCafe
- Пишите свои тесты
- Запустите команду
testcafe safari test/sample.js
, чтобы выполнить тест. - При желании вы можете добавить тестовый репортер для отображения результатов теста.
Теперь давайте смоделируем эти шаги в вашем проекте Jenkins.
Шаг 1
- Создайте новый проект Jenkins, выбрав задание фристайл, а затем выберите «Настроить» в меню слева.
- Задание Freestyle обычно используется для простых заданий, таких как настройка задания сборки для запуска автоматических тестов всякий раз, когда есть коммит Git.
- Как я упоминал в начале, в объем этой статьи не входит непрерывное развертывание, поэтому я выбрал вариант работы в свободном стиле, а не вариант конвейера, поскольку он больше подходит для непрерывного развертывания.
Шаг 2
В разделе «Управление исходным кодом» добавьте URL-адрес репозитория Git с тестами TestCafe, чтобы задание сборки знало, где найти тесты.
- Вы можете оставить ветку по умолчанию
*/master
в этом разделе. - Примечание. Вы увидите это представление из-за установленного вами подключаемого модуля параметров Git.
Шаг 3
- Далее нам нужно добавить команды в раздел сборки, чтобы установить TestCafe, запустить тесты и сгенерировать отчет.
- В разделе Сборка выберите Выполнить оболочку и добавьте команду
npm install testcafe testcafe-reporter-xunit
. Это установит TestCafe, а также его плагин testcafe-reporter-unit для тестовых отчетов. - Затем добавьте команду
node_modules/.bin/testcafe chrome tests/sample.js -r xunit:res.xml
. Это запустит тесты и сгенерирует отчет в xUnit. - Наконец, добавьте параметр пост-сборки, чтобы опубликовать отчет, который будет находиться в рабочей области Jenkins в рамках созданного вами проекта. Выберите «Опубликовать отчет о результатах теста JUnit» в раскрывающемся списке «Добавить действие после сборки». Введите res.xml (это то, что мы дали на шаге № 5)
Просмотр результатов в рабочем пространстве Jenkins
Перейдите в пространство своего проекта и нажмите «Создать сейчас». Во время сборки вы увидите индикатор выполнения.
- Если сборка прошла успешно, вы должны увидеть сборку с синим значком, иначе вы увидите неудачную сборку с красным значком.
- Нажмите на номер сборки, чтобы перейти на соответствующую страницу для получения подробной информации о результатах тестирования, выводе консоли и статусе сборки.
- Нажмите Результат теста, чтобы увидеть результаты тестового запуска. Примечание. В моем примере есть только один тест в sample.js, который используется на скриншоте.
- Вывод консоли будет печатать шаги сборки, а также журналы консоли из ваших тестовых прогонов. В качестве примера я распечатал журнал консоли для ссылок, которые нужно щелкнуть в sample.js, которые можно увидеть в Выводе консоли.
- В случае сбоя сборки вы можете перейти к журналам консоли, чтобы проанализировать, что пошло не так.
Как только вы ознакомитесь с этой настройкой, вы сможете запускать несколько браузеров одновременно, запускать автономные браузеры или настраивать образы докеров.
node_modules/.bin/testcafe chrome:headless,firefox:headless test/sample.js
node_modules/.bin/testcafe chrome,firefox,safari test/sample.js
Первоначально опубликовано на https://engineering-quality.com 18 апреля 2020 г.