Amazon web services 在AWS ECS上使用Docker Compose设置Selenium网格
背景: 我正在尝试设置一个selenium网格以在CI上运行我的UI测试。CI是Jenkins 2.0,它在AWS ECS上运行。当我使用docker compose创建一个selenium网格并在我的MAC(OS Sierra)上调用测试时,它工作得非常好 在AWS ECS上运行时,它显示:java.awt.AWTError:无法使用“99.0”作为显示变量的值连接到X11 window server 测试代码本身在一个容器中,我使用网桥网络将容器添加到与网格相同的网络中 docker compose的外观如下所示:Amazon web services 在AWS ECS上使用Docker Compose设置Selenium网格,amazon-web-services,selenium,selenium-webdriver,docker-compose,amazon-ecs,Amazon Web Services,Selenium,Selenium Webdriver,Docker Compose,Amazon Ecs,背景: 我正在尝试设置一个selenium网格以在CI上运行我的UI测试。CI是Jenkins 2.0,它在AWS ECS上运行。当我使用docker compose创建一个selenium网格并在我的MAC(OS Sierra)上调用测试时,它工作得非常好 在AWS ECS上运行时,它显示:java.awt.AWTError:无法使用“99.0”作为显示变量的值连接到X11 window server 测试代码本身在一个容器中,我使用网桥网络将容器添加到与网格相同的网络中 docker com
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
如果需要更多信息,请告诉我
unset DISPLAY This helped me to solve the problem
这在大多数情况下都有帮助(例如启动应用程序服务器或其他基于java的工具),并避免修改所有那么多的命令行
将其添加到专用应用程序服务器/工具用户的.bash_配置文件中也很方便。
你能试试这个吗
-no_proxy=“”