docker compose. Для автоматизированных тестов внешнего интерфейса мы хотели бы установить Cypress. Локально мы разрабатываем внутри подсистемы Windows для Linux (WSL2, Ubuntu).cypress open предлагает приятный интерактивный графический интерфейс, который позволяет в реальном времени просмотреть, что происходит в тестах, а также множество других полезных функций, которые мы не хотим пропустить.

Я задал этот вопрос непосредственно команде Cypress, и Майк дал отличный ответ здесь.
Оказывается, что WSL теперь поставляется со всеми батареями, включенными в комплект поставки, для пересылки приложений Linux GUI в Windows, то есть установка сервера X11 вручную больше не требуется. Этот проект называется WSLg. Если вы уже используете WSL, просто нажмите wsl --update, и вы автоматически получите новую версию.
При этом настройка Docker Compose из здесь работает безупречно. Хотя первоначальный вопрос заключался в том, чтобы интерактивный графический интерфейс Cypress запускался напрямую в Windows, а затем каким-то образом позволял ему подключаться к контейнеру Docker, чтобы он выполнял там тесты, это решение (где графический интерфейс запускается внутри контейнера Docker, но пересылается в Windows) Сейчас отлично работает и не требует каких-либо дополнительных настроек.
Вот минимальная настройка компоновки Docker:
# Instructions for interactive mode
# https://www.cypress.io/blog/2019/05/02/run-cypress-with-a-single-docker-command#Interactive-mode
services:
cypress:
# https://on.cypress.io/command-line#cypress-open
entrypoint: cypress open --project ./your/folder/name/
environment:
# for X11/Wayland in WSLg
- DISPLAY
volumes:
# for Cypress to communicate with the X11 server pass this socket file
# in addition to any other mapped volumes
- /tmp/.X11-unix:/tmp/.X11-unix
Обратите внимание, что я только что открыл эту тему в репозитории
cypress-docker-imagesздесь.