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

Эта статья, являющаяся частью Что такое непрерывная интеграция, состоит из 3 разделов:

  • Установка и настройка Дженкинса
  • Настройка Дженкинса с помощью TestCafe
  • Просмотр результатов теста в рабочей области Jenkins

Установка и настройка Дженкинса

  1. Установите Java 8 или 11 или OpenJDK.
  2. Далее устанавливаем Дженкинс.
  3. После завершения установки запустите Jenkins в своем терминале (macOS) или в командной строке (Windows) в соответствии с инструкциями по установке для соответствующей платформы.
  4. Далее в браузере введите http://localhost:8080. Вам будет предложено следовать инструкциям по настройке следующих
  • Разблокировка Jenkins с паролем, сгенерированным во время установки
  • Установка стандартных плагинов
  • Создание пользователя-администратора
  • Настройка URL-адреса вашего домена, если вы не хотите использовать localhost

5. Наконец, когда все вышеперечисленные шаги будут выполнены, вы должны увидеть «Jenkins is ready» в своем браузере.

Настройка Дженкинса с помощью TestCafe

Во-первых, вам нужно установить пару плагинов Jenkins.

  1. Плагин NodeJS 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 г.