2.构建selenium-Docker

1、下载selenium/hub镜像(images)

在cmd命令行输入:docker pull selenium/hub

在cmd命令行输入:docker pull sunshinedalaohu/vnc-node-chrome-debug:sunshinedalaohu

=====================================================================

2、下载selenium/node-chrome-debug(images)

在cmd命令行输入:docker pull selenium/node-chrome-debug

=====================================================================

3、查看是否下载成功

在cmd命令行输入:docker images


====================================================================

4、创建并运行selenium相关容器(Container)

第一步,启动selenium-hub

在cmd命令行输入:docker run -p 5555:4444 -d --name selenium_hub selenium/hub

第二步,启动selenium/node-chrome-debug,注册到hub节点上

在cmd命令行输入:docker run -d -p 5901:5900 --link selenium_hub:hub selenium/node-chrome-debug

====================================================================

5、检查容器(Container)

(1)查看当前运行容器

在cmd命令行输入:docker ps


(2)查看当前存在的所有容器

在cmd命令行输入:docker ps -a


(3)在浏览器输入http://localhost:5555/grid/console,查看是否运行起来

其中hub就是selenium gird的容器,启动的时候使用5555端口,其他的是浏览器的镜像,而且这里也说明一下浏览器容器的5900端口,在docker.io获取浏览器镜像时,会有debug版,debug的话是可以通过VNC Viewer连接映射的端口来查看调试浏览器和用例的具体实行情况,一般也建议直接用debug版,上面分别用了2个chrome的容器集群构建成分布式的web自动化测试环境

启动完整之后打开selenium gird,就能看到具体浏览器容器的启动情况,当然,这一步也是要做到自动检查是否启动成功的


====================================================================

6、更改镜像selenium/node-chrome-debug

截止到这一步:此时可以通过脚本运行成功,但运行过程看不到,且有中文乱码

(1)脚本如下:


(2)运行结果:


故需要对镜像selenium/node-chrome-debug进行下修改(vnc远程查看和中文支撑)

此时需要这一步骤Dockerfile 指令.note

window下安装vnc查看器或者在Chrome装vnc插件


====================================================================

7、将之前运行的容器(selenium/node-chrome-debug)删除

并运行当前修正的(selenium/vnc-node-chrome-debug)


必须停止后才可移除

1、(停止当前运行容器)在cmd命令行输入:docker stop amazing_bassi

2、(删除容器)在cmd命令行输入:docker rm amazing_bassi

3、(运行修正的镜像并注册到hub节点上)在cmd命令行输入:

启动一个chrome

docker run -d -p 5901:5900 --name chrome --link selenium_hub:hub selenium/vnc-node-chrome-debug

docker run -d -p 5901:5900 --name chrome --link selenium_hub:hub selenium/vnc-node-chrome-debug:sunshinedalaohu

启动firefox

docker run -d -P -p 5902:5900 --name firefox --link selenium_hub:hub selenium/vnc-node-firefox-debug

再启动一个chrome(用于并发实行)

docker run -d -p 5903:5900 --name chrome1 --link selenium_hub:hub selenium/vnc-node-chrome-debug

docker run -d -p 5903:5900 --name chrome1 --link selenium_hub:hub selenium/vnc-node-chrome-debug:sunshinedalaohu


====================================================================

8、运行脚本,查看运行过程

1、Windows下或Chrome插件的vnc连接vnc-node-chrome容器,查看运行过程,密码(默认密码为secret)为Dockerfile修正的密码88888888,sever为:127.0.0.1:5901(此处端口即为启动容器时的端口)

chrome


chrome1


推荐阅读更多精彩内容