作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我喜欢使用官方 Docker 镜像在 AWS 上设置 Selenium Grid,可以在这里找到 https://github.com/SeleniumHQ/docker-selenium
Hub 和节点应该位于不同的机器/docker 主机上。
我使用大使容器,如下所述:https://docs.docker.com/articles/ambassador_pattern_linking/
(hub) --> (selenium-ambassador) --network--> (selenium-ambassador) --> (node)
我创建了两个 EC2 实例并执行了以下命令:
在集线器机器上:
$ docker run -d --name selenium-hub selenium/hub:2.47.1
$ docker run -d --link selenium-hub:selenium-hub --name selenium_ambassador -p 4444:4444 svendowideit/ambassador
在节点机器上:
$ docker run -d --name selenium_ambassador --expose 4444 -e SELENIUM_PORT_4444_TCP=tcp://<public-AWS-EC2-IP>:4444 svendowideit/ambassador
$ docker run -d --link selenium_ambassador:selenium-hub selenium/node-chrome:2.47.1
运行最后一条命令后,我在节点机器上收到以下错误消息:
Not linked with a running Hub container
每台 EC2 机器上的安全组允许端口 22 和 4444。
我希望,任何人都可以帮助我或给我一个线索?提前致谢。
最佳答案
经过更多研究,我发现不需要额外的大使容器。设置合适的参数/环境变量REMOTE_HOST、HUB_PORT_4444_TCP_ADDR、HUB_PORT_4444_TCP_PORT后节点和集线器可以直接通信。还有一个相应的已解决问题 https://github.com/SeleniumHQ/docker-selenium/issues/51
简而言之,只需执行以下命令:
中心
$ docker run -d -p 4444:4444 --name selenium-hub selenium/hub:2.47.1
节点
$ docker run -d -p 5555:5555 -e REMOTE_HOST="http://<PASTE-NODE-IP>:5555" -e HUB_PORT_4444_TCP_ADDR="<PASTE-HUB-IP>" -e HUB_PORT_4444_TCP_PORT="4444" --name chrome-node selenium/node-chrome:2.47.1
关于Selenium Grid 与不同主机上的 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32074836/
我是一名优秀的程序员,十分优秀!