Как сократить время тестирования с помощью Jenkins, Docker, Java, Selenide и Allure

Kate

Administrator
Команда форума
Автоматизация тестирования UI интерфейсов является неотъемлемой частью процесса разработки программного обеспечения. С помощью автоматизированных тестов можно значительно повысить качество продукта и ускорить процесс разработки. Для эффективного запуска автотестов необходимо использовать современные инструменты, которые облегчают процесс и позволяют быстро выявлять ошибки.
В данной статье мы рассмотрим, как можно настроить запуск автотестов UI интерфейсов на Java с помощью фреймворка Selenide, системы управления сборкой Jenkins и контейнерной технологии Docker. Selenide представляет собой простой и эффективный инструмент для автоматизированного тестирования веб-приложений, который предоставляет множество возможностей для упрощения процесса тестирования. В сочетании с Jenkins и Docker, Selenide позволяет создать мощную систему для автоматизированного тестирования, которая значительно повысит качество вашего продукта и ускорит продуктивность вашей команды.

Шаг первый. Установка Docker​

Docker — это платформа для разработки, развертывания и запуска приложений в контейнерах. Контейнеры позволяют разработчикам упаковать приложение со всеми его зависимостями, включая библиотеки и другие необходимые компоненты, и запускать его на любой машине без необходимости установки этих зависимостей. В этой инструкции мы расскажем, как установить Docker на Windows, MacOS и Linux.
Установка Docker на Windows:
  1. Загрузите установщик Docker Desktop для Windows по адресу https://www.docker.com/products/docker-desktop.
  2. Запустите установщик и следуйте инструкциям по установке.
  3. После установки откройте Docker Desktop, введите свои учетные данные и нажмите на кнопку «Sign In».
  4. Docker Desktop запустится, и вы будете готовы начать работу с Docker.
Установка Docker на MacOS:
  1. Загрузите установщик Docker Desktop для Mac по адресу https://www.docker.com/products/docker-desktop.
  2. Запустите установщик и следуйте инструкциям по установке.
  3. После установки откройте Docker Desktop из Launchpad, введите свои учетные данные и нажмите на кнопку «Sign In».
  4. Docker Desktop запустится, и вы будете готовы начать работу с Docker.
Установка Docker на Linux:
  1. Откройте терминал и выполните команду sudo apt-get update для обновления репозитория пакетов.
  2. Выполните команду sudo apt-get install docker.io для установки Docker.
  3. После установки выполните команду sudo systemctl start docker для запуска Docker.
  4. Выполните команду sudo systemctl enable docker для автозапуска Docker при старте системы.
Теперь, когда Docker установлен, вы готовы начать работу с контейнерами. Для подробностей по использованию Docker, смотрите документацию на официальном сайте https://docs.docker.com/.

Шаг второй. Установка Jenkins в Docker​

  1. Создаем папку Docker на на диске D:\
  2. Создаем файл Dockerfile с следующим содержимым
FROM jenkins/jenkins:2.387.1
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli

#--------------------------------------------------------------
RUN curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get install -y ./google-chrome-stable_current_amd64.deb
RUN rm google-chrome-stable_current_amd64.deb
# Check chrome version
RUN echo "Chrome: " && google-chrome --version
#--------------------------------------------------------------
RUN echo "deb http://deb.debian.org/debian/ unstable main contrib non-free" >> /etc/apt/sources.list.d/debian.list
RUN apt-get update
RUN apt-get install -y --no-install-recommends firefox

USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
  1. Кладем файл образа Docker по которому будет собирать образ в папку D:\Docker.
  2. Вызываем командную строку CMD с правами администратора. Переходим в командной строке в папку D:\Docker.
    docker network create jenkins

    docker run --name jenkins-docker --rm --detach ^
    --privileged --network jenkins --network-alias docker ^
    --env DOCKER_TLS_CERTDIR=/certs ^
    --volume jenkins-docker-certs:/certs/client ^
    --volume jenkins-data:/var/jenkins_home ^
    --publish 2376:2376 ^
    docker:dind
Выполняем следующею команду в командной строке в папке D:\Docker где присутствует файл Dockerfile.
docker build -t myjenkins-blueocean:2.387.2-1 .
5.Запустите свой собственный myjenkins-blueocean:2.387.2-1 образ в качестве контейнера в Docker, используя следующую docker run команду:
docker run --name jenkins-blueocean --restart=on-failure --detach ^
--network jenkins --env DOCKER_HOST=tcp://docker:2376 ^
--env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 ^
--volume jenkins-data:/var/jenkins_home ^
--volume jenkins-docker-certs:/certs/client:ro ^
--publish 8080:8080 --publish 50000:50000 myjenkins-blueocean:2.387.2-1
Ожидаем завершения выполнения команды.
В браузере переходим по ссылке http://localhost:8080/
7244aff159771e809007ee44a8b5adca.png

Переходим в контейнер Docker
f33bcffa3a391774a0c64b6e8efaa208.png

Переходим в контейнер
Копируем пароль 412e4437bd064c249f41dea7ee3de688 (временный пароль 1 раз нужен при первой установке Jenkins, для каждой новой установке генерируется новый временный пароль )
eed4ea50bf82631c71b12e929b786f61.png

Жмем кнопку Install suggested plugins
669eb2b33436f694dbd74a38a322338e.png

Ожидаем окончание процесса
703d673b3dac38d522dc07189ca77b92.png

Открывается новое. Окно Jenkins успешно установлен.
Настраиваем конфигурацию Jenkins, переходим на вкладку Настраиваем Jenkins
62628edb107873396039002626a3eeac.png

Переходим на вкладку Управление плагинами
8d62e59822889c897d277f04990e54ad.png

Выбираем плагины Maven Integration и Allure и жмем кнопку "Download now and install after restart". Ожидаем пока установится плагины и перезагрузиться Jenkins.
46d73cf79158f059ededc20cbb95ab77.png

Нажимаем галочку «Перезапустить Jenkins по окончанию установки и отсутствии активных задач»
a9bc83d9a6798286492f8a625c9ce1fe.png

Нажимаем галочку «Перезапустить Jenkins по окончанию установки и отсутствии активных задач».
После перезагрузки переходим на страницу http://localhost:8080/ и выполняем авторизацию.
83dd294f644cd58d45fc020b0874ae85.png

Заходим настраиваем плагины Конфигурация глобальных инструментов
fc7731e6d5c774353b4b92e3288dd4e5.png

Настраиваем Maven. Выбираем версию 3.8.6
582e6c7086bb7e0b57cb10623d3c2a01.png

Allure настраиваем Allure 2.14.0
cdd47f42e7668bc5c9658ed54d2e9da9.png

Создаем проект
3d100397b1d3d0b93fe26405a009512a.png



 
Сверху