Как запустить тесты Selenium в контейнере docker с видимым браузером? - PullRequest
8 голосов
/ 26 мая 2020

Если я хочу запускать тесты Selenium внутри контейнера Docker с видимым (не безголовым) браузером, какие у меня варианты? VN C?

Можно ли использовать браузер на хосте? (Т.е. браузер, которого нет в контейнере Docker). Как это работает? Любой другой вариант?

Ответы [ 2 ]

4 голосов
/ 19 июня 2020

Docker

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

Следует отметить, что Docker изолирован, безопасен и переносится. Однако нет GUI и он не работает на голой скорости.

Предварительные требования

  • Python, связанный с Selenium WebDriver
  • Платформа тестирования, например PyTest, Nose или JUnit.
  • ChromeDriver, GeckoDriver
  • Docker (из места установки )
  • Инструмент CI, например Jenkins или TeamCity .
  • Дополнительные плагины, например GitHub для подключения к репозиторию, Allure для отчетности или BlazeMeter для тестирования производительности и т. Д. c.

Ответы на ваши вопросы:

  • Нужно ли мне использовать удаленную программу просмотра дисплея, такую ​​как VN C? : Согласно статье GUIdock -VN C: использование графической системы общего доступа к рабочему столу для обеспечения интерфейса на основе браузера для контейнерного программного обеспечения Docker может работать на Linux хостах, в то время как небольшая Linux виртуальная машина необходима для обеспечения виртуализации сервисы на ОС Ma c и Windows. В системах, отличных от Linux, один контейнер Docker состоит из мини-виртуальной машины, программного уровня Docker и программного контейнера. Но недавно поддержка виртуализации на уровне ОС была добавлена ​​в ОС Windows и Ma c. Теперь доступны бета-версии Docker как для Windows, так и для Ma c, которые позволяют запускать Docker изначально.

  • Можно ли использовать браузер на хосте? : Нет, потому что нет UI. Но затем, чтобы иметь визуальное представление о выполнении вашего теста, вы можете установить X Server Display.

    После этого вы можете увидеть результаты:

docker_tests

To view the results in a visual manner you can use the Allure report which looks like:

Selenium Grid с использованием Docker Compose. Zalenium широко используется в этой области, поскольку он обеспечивает гибкую и масштабируемую контейнерную сетку Selenium Grid с видеозаписью, предварительным просмотром в реальном времени, базовыми c аутентификацией и панелью управления.

Вы также можете настроить Selenium Grid в Kubernetes. Вы можете найти подробную документацию в Запустить тесты Selenium UI в Docker контейнерах

Outro

Как запустить Selenium WebDriver с Docker?

3 голосов
/ 26 мая 2020

Пожалуйста, подумайте об использовании Zalenium (https://opensource.zalando.com/zalenium/). Заголовок Zalenium: гибкий и масштабируемый Selenium Grid на основе контейнера с видеозаписью, предварительным просмотром в реальном времени, базовыми c аутентификацией и панелью управления.

Как упоминалось выше, вы можете проверить предварительный просмотр ваших тестовых примеров в реальном времени. в браузере.

PS: - Zalenium - это оболочка, построенная поверх Selenium Grid

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