我试图让e2e测试针对在链接在一起的docker容器中设置的硒网格和chrome节点运行,如下所示:
到目前为止,我已经设法通过docker-compose使容器运行
version: '2'
services:
hub:
image: selenium/hub:latest
ports:
- 4444:4444
chromenode:
image: selenium/node-chrome-debug:latest
volumes:
- /dev/shm:/dev/shm
ports:
- 5900
depends_on:
- hub
environment:
HUB_HOST: hub
然后我从主机上的工作目录运行ng e2e
(因此,不是在使用docker来构建/提供应用程序时运行),我看到我的应用程序已在开发服务器上构建并启动,然后量角器启动并使用我的硒服务器:
但是,我看到一个错误,指出无法在页面上找到Angular,引用了开发服务器分配的localhost:49158
地址。
如果我将VNC插入运行chrome节点的容器中,则可以看到浏览器在测试尝试运行时启动,但是找不到在主机上运行的应用程序。
我是否需要将chromenode上的localhost映射回docker-compose文件中的主机IP地址?
谢谢
更新 所以我遇到了network_mode:“ host” docker compose config选项,我以为我需要,但是尝试后它没有任何区别,我读到某处它可能无法在我使用的Mac OSX上运行(High Sierra)>