Как добавить Robot Framework, Selenium, браузер-тест-поддержку в докер-контейнер? - PullRequest
0 голосов
/ 06 октября 2018

Как я могу добавить Robot Framework в образ Docker?Я уже использую образ Дженкинса с Maven и т. Д.

Я просмотрел довольно много постов, но (насколько я понимаю) нет полного набора действий по добавлению 1 слоя к изображению докера через Dockerfile.,

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

Преимущество добавления RF в этот контейнер состоит в том, что после сбоя очень легко создается новое новое изображение / контейнер.

Как я понимаю, после этого я добавляю и могу использовать плагин Robot Framework для отображения отчетов.

Мой текущий Dockerfile содержит Jenkins, Docker (ссылка), docker-compose, Maven и Npm.Прекрасно работает!

FROM jenkins/jenkins:lts
USER root

... docker

ENV MAVEN_VERSION 3.5.4
RUN curl -fsSL http://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz | tar xzf - -C /usr/share \
  && mv /usr/share/apache-maven-$MAVEN_VERSION /usr/share/maven \
  && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn

ENV MAVEN_HOME /usr/share/maven
COPY settings.xml /root/.m2/settings.xml

RUN apt-get install -y curl \
  && curl -sL https://deb.nodesource.com/setup_9.x | bash - \
  && apt-get install -y nodejs \
  && curl -L https://www.npmjs.com/install.sh | sh

user jenkins

1 Ответ

0 голосов
/ 07 октября 2018

После изучения ряда существующих образов докеров с помощью Robot Framework я обнаружил, что для тестирования на уровне браузера необходимы некоторые дополнения, такие как chromedriver, geckodriver и безголовые браузеры.

Добавление всего этого программного обеспечения к моему существующему образу Дженкинса увеличило бы изображение далеко за 1 Гиг.Это действительно слишком много.Вторая причина ухода из этой аппроксимации: общий образ Дженкинса будет выполнять функциональные тесты только в определенных случаях, поэтому не всегда.

Итак, второй подход, который я выбрал, - это запуск тестов Robot Framework из Jenkinsfile.Я нашел хороший существующий образ Docker с Robot Framework и драйверами.Полное и рабочее решение можно найти в сообщении с этим Jenkinsfile .

А результаты испытаний Robot Framework?Статус отображается через консоль (например, прошел / не прошел).Остальная информация доступна через (архивированный) log.html и другие html-файлы.Плагин для фреймворка Robot не нуженРаботает как шарм!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...