docker-selenium分布式环境搭建(基于selenium的grid分布式框架)

发布时间 2023-03-22 21:11:30作者: 羊孩

说明:docker-selenium分布式是基于selenium的grid分布式框架进行搭建

以下是docker-selenium分布式网络拓扑图:

 

 从图中可以看出:

           1)docker-selenium可以用作浏览器兼容性测试;

           2)docker-selenium分布式,可以提高测试用例的执行效率,减少运行时间

           3)docker-selenium的浏览器节点可以在不同的操作系统、不同的浏览器执行测试

步骤1:搭建docker-selenium分布式环境的前提是已安装docker服务,docker安装详细看:https://www.cnblogs.com/sheepboy/p/17214777.html

步骤2:准备好主节点、浏览器节点机器,并确保主节点和浏览器节点均已安装docker服务

            注意:不管主节点还是浏览器节点,容器进行端口映射时,都需要关闭防火墙或者添加端口例外,否则端口访问失败

步骤3:搭建主节点:192.168.0.80

          a.搜索主机节点镜像:docker  search   selenium

          b.下载主节点镜像:docker  pull  selenium/hub

          c.创建并运行节点容器: docker run -d -p 4444:4444 -e GRID_MAX_SESSION=100 --name hub selenium/hub

          d.检查主节点容器是否启动成功:

                     查看容器状态 docker ps     

                     查看容器启动日志: docker  logs -f   容器名 

                     访问主节点页面:主节点ip:端口号,即:192.168.0.80:4444

 

 

 

步骤4:搭建浏览器节点

          a.搜索浏览器节点镜像:docker  search   selenium

          b.下载浏览器节点镜像:docker  pull  镜像名

              selenium/node-chrome:谷歌浏览器节点

              selenium/node-chrome-debug:带有 VNC 服务端,便于观看执行步骤

          c-1.浏览器节点与主节点在同一台机器上:使用参数 “ --link  主节点容器名”  连接主节点

谷歌浏览器节点:docker run -d -p 5900:5900 -e NODE_MAX_INSTANCES=5 -e NODE_MAX_SESSION=5 --shm-size=1g --link hub --name chrome selenium/node-chrome

谷歌浏览器带vnc服务节点:docker run -d -p 5901:5900 --link hub      chromte-debug    selenium/node-chrome-debug

          c-2.浏览器节点与主机点不在同一台机器上:待验证

谷歌浏览器节点:docker run -d -p 5900:5900 -e HUB_HOST=remote_ip -e HUB_PORT=remote_port -e REMOTE_HOST=http://ip:port -e NODE_MAX_INSTANCES=5 -e NODE_MAX_SESSION=5 --shm-size=2g --name node1 selenium/node-chrome

          d.检查浏览器节点是否搭建成功

            查看容器启动状态: docker  ps

            查看容器启动日志:docker  logs -f   容器名

            查看浏览器节点连接情况: