我已采取的措施
1.下载并安装用于Windows的Docker Toolbox
2.打开Docker Quickstart终端
3.输入以下命令从dockerhub中拉出docker图像并运行它们
docker pull selenium/hub
docker pull selenium/node-chrome
docker pull selenium/node-firefox
docker run -d -P \--name hub selenium/hub
docker run -d --link hub:hub -P \--name chrome selenium/node-chrome
docker run -d --link hub:hub -P \--name firefox selenium/node-firefox
当我输入docker logs hub
时,它似乎正在运行,但我无法使用conf.js文件中的seleniumAddress
将我的测试路由到虚拟机VM上的中心地址或查看它使用http://ipAddress:4444/grid/console。
理想情况下,我想使用此设置来扩展我可以运行的并行测试实例的数量。
答案 0 :(得分:6)
不幸的是,selenium docker图片可能是broken since 4 days ago,但您可以尝试我的alternative one:
拉出图片并根据需要运行多个容器
docker pull elgalu/selenium
docker run -d --name=grid4 -p 4444:24444 -p 5904:25900 \
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium
docker run -d --name=grid5 -p 4445:24444 -p 5905:25900 \
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium
docker run -d --name=grid6 -p 4446:24444 -p 5906:25900 \
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium
在开始测试之前等待所有网格正常启动(可选但建议)
docker exec grid4 wait_all_done 30s
docker exec grid5 wait_all_done 30s
docker exec grid6 wait_all_done 30s
此后,Selenium应该在http://localhost:4444/wd/hub
启动并运行。在浏览器中打开URL以确认它正在运行。
如果您使用的是Mac(OSX)或Microsoft Windows localhost
将无效!通过boot2docker ip
或docker-machine ip default
找出正确的IP。
因此,为每个测试设置相应的selenium端口:
http://ipAddress:4444/wd/hub
http://ipAddress:4445/wd/hub
http://ipAddress:4446/wd/hub
您可以运行硬件可以使用的数量。
答案 1 :(得分:4)
看看Protractor Cookbook w/ Docker。使用selenium-grid和docker compose逐步列出这些说明。 Docker-selenium issue #208已修复。
所以你需要下载最新的图片*:
docker pull selenium/hub:latest
docker pull selenium/node-chrome-debug:latest
启动selenium网格:
docker run -d -p 4444:4444 --name selenium-hub selenium/hub:latest
然后添加selenium节点。我喜欢使用chrome-debug和firefox-debug版本来观看测试。
docker run -d -p <port>:5900 --link selenium-hub:hub selenium/node-chrome-debug:latest
在链接你的硒网格后,这应该足以使用seleniumAddress: 'http://localhost:4444/wd/hub'
运行你的量角器测试。
要进行调试,请使用以下命令查找容器的VNC端口:
docker port <container-name or container-id> 5900
并通过VNC Viewer访问它。
注意:强>
答案 2 :(得分:-1)
您可以使用以下撰写文件来设置网格并通过VNC访问
**#要执行此docker-compose yml文件,请使用docker-compose -f up
**#添加&#34; -d&#34;最后标志为脱离执行****
version: '2'
services:
firefoxnode:
image: selenium/node-firefox-debug
volumes:
- /dev/shm:/dev/shm
depends_on:
- hub
environment:
HUB_HOST: hub
ports:
- "32772:5900"
chromenode:
image: selenium/node-chrome-debug
volumes:
- /dev/shm:/dev/shm
depends_on:
- hub
environment:
HUB_HOST: hub
ports:
- "32773:5900"
hub:
image: selenium/hub
ports:
- "4444:4444"
我使用的命令:
docker-compose -f .\docker-compose.yml up -d
来源: