实战
搭建UI Grid Hub自动化测试框架
拉取镜像
docker pull selenium/hub:3.7.1-beryllium
docker pull selenium/node-chrome-debug:3.7.1-beryllium
启动Grid Hub
docker run --name=grid_hub -p 5901:4444 -e GRID_TIMEOUT=0 -e GRID_THROW_ON_CAPABILITY_NOT_PRESENT=true -e GRID_NEW_SESSION_WAIT_TIMEOUT=-1 -e GRID_BROWSER_TIMEOUT=15000 -e GRID_TIMEOUT=30000 -e GRID_CLEAN_UP_CYCLE=30000 -d selenium/hub:3.7.1-beryllium
启动Node节点
# 第一个节点
docker run --name=chrome1 -p 5902:5900 -e NODE_MAX_INSTANCES=6 -e NODE_MAX_SESSION=6 -e NODE_REGISTER_CYCLE=5000 -e DBUS_SESSION_BUS_ADDRESS=/dev/nul -v /dev/shm:/dev/shm --link grid_hub -d selenium/node-chrome-debug:3.7.1-beryllium
# 第二个节点
docker run --name=chrome2 -e NODE_MAX_INSTANCES=6 -e NODE_MAX_SESSION=6 -e NODE_REGISTER_CYCLE=5000 -e DBUS_SESSION_BUS_ADDRESS=/dev/nul -v /dev/shm:/dev/shm --link grid_hub -d selenium/node-chrome-debug:3.7.1-beryllium
# 第三个节点
docker run --name=chrome3 -e NODE_MAX_INSTANCES=6 -e NODE_MAX_SESSION=6 -e NODE_REGISTER_CYCLE=5000 -e DBUS_SESSION_BUS_ADDRESS=/dev/nul -v /dev/shm:/dev/shm --link grid_hub -d selenium/node-chrome-debug:3.7.1-beryllium
# 更多节点,更改一下容器名称即可
......
# VNC默认密码是:secret
上面三条命令就是启动了3个node节点。
NODE_MAX_INSTANCES
和NODE_MAX_SESSION
的意思是注册的node节点能启动多少个浏览器,这里设置的是6个;/dev/shm:/dev/shm
是优化内存;第一个节点的-p 5902:5900
将chrome-debug
镜像提供的图形界面服务(只有debug版本的镜像有这个功能)的端口映射到宿主机的5902端口。
PS:/dev/shm
是一个驻留在内存中的设备文件,使用tmpfs
文件系统,可以使用df -h
命令查看。
参考:docker搭建selenium grid分布式https://www.cnblogs.com/zhouliweiblog/p/12572047.html
question
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout.
解决方案参考:https://blog.csdn.net/BigData_Mining/article/details/87869147
ta_Mining/article/details/87869147