【问题标题】:Selenium Grid Setup using Docker Compose on AWS ECS在 AWS ECS 上使用 Docker Compose 设置 Selenium 网格
【发布时间】:2017-09-28 15:36:39
【问题描述】:

上下文:

我正在尝试设置一个硒网格来在 CI.CI 上运行我的 UI 测试。CI 是 Jenkins 2.0,它在 AWS ECS 上运行。当我使用 docker compose 创建一个硒网格并在我的 MAC(OS Sierra ) ,它工作得很好。

在 AWS ECS 上运行时,它向我显示:java.awt.AWTError: Can't connect to X11 window server using '99.0' 作为 DISPLAY 变量的值。

测试代码本身在一个容器中,并使用桥接网络,我已将容器添加到与网格相同的网络中。

docker compose 看起来像这样:

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

如果需要更多信息,请告诉我。

【问题讨论】:

    标签: amazon-web-services selenium selenium-webdriver docker-compose amazon-ecs


    【解决方案1】:
    unset DISPLAY   This helped me to solve the problem
    

    这在大多数情况下都有帮助(例如,启动应用程序服务器或其他基于 Java 的工具)并避免修改所有那么多命令行。

    也可以很舒服地将其添加到 .bash_profile 以供专门的应用服务器/工具用户使用。 你能试试这个吗 - no_proxy=""

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2020-11-10
      • 2017-09-30
      • 2019-02-15
      • 2022-06-17
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多