Настройка Selenium Grid с использованием Docker Compose на AWS ECS

Контекст:

Я пытаюсь настроить сетку селена для запуска моих тестов пользовательского интерфейса на CI. CI - это Jenkins 2.0, и он работает на AWS ECS. работает отлично.

При запуске на AWS ECS он показывает мне: java.awt.AWTError: Не удается подключиться к оконному серверу X11, используя «99.0» в качестве значения переменной DISPLAY.

Сам тестовый код находится в контейнере, и с помощью мостовой сети я добавил контейнер в ту же сеть, что и сетка.

Компоновка докера выглядит примерно так:

version: '3'
services:

chromenode:
  image: selenium/node-chrome:3.4.0
  volumes:
    - /dev/shm:/dev/shm
    - /var/run/docker.sock:/var/run/docker.sock
  container_name: chromenode
  hostname: chromenode
  depends_on: 
    - seleniumhub
  ports: 
    - "5900:5900"
  environment:
    - "HUB_PORT_4444_TCP_ADDR=seleniumhub"
    - "HUB_PORT_4444_TCP_PORT=4444"
  networks:
    - grid_network

seleniumhub:
  image: selenium/hub:3.4.0
  ports: 
   - "4444:4444"
  container_name: seleniumhub
  hostname: seleniumhub
  networks:
    - grid_network
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock

 testservice:
 build:
  context: .
  dockerfile: DockerfileTest
 networks:
   - grid_network

 networks:
   grid_network:
     driver: bridge

Пожалуйста, дайте мне знать, если требуется дополнительная информация.


person Jagannath    schedule 01.05.2017    source источник


Ответы (1)


unset DISPLAY   This helped me to solve the problem

Это помогает в большинстве случаев (например, запуск серверов приложений или других инструментов на основе Java) и позволяет избежать изменения всего этого количества командных строк.

Также может быть удобно добавить его в .bash_profile для выделенного пользователя сервера приложений/инструментов. Не могли бы вы попробовать это - no_proxy=""

person Subrata Fouzdar    schedule 01.05.2017