文章是2018年创建的。哎,还是没坚持持续更新,加油吧,少年!!
Docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将Docker与Selenium结合实现在容器中执行无界面的自动化操作。例如:自动测试
分步指南
一、docker 部署
- 所需软件 :系统环境:windows 64位操作系统,win7或者更高 或者centous 1.7版本以上 ;软件:Docker Toolbox(https://get.daocloud.io/toolbox/)或
- 安装Docker toolbox 一路next,对于选择注意选择git forwindows (可参看url https://blog.csdn.net/Jwast/article/details/79115268)
注意:在安装过程中,会出现几个其他的安装过程,如Ocracle Corporation等系列软件,全部选择安装即可。
整个安装过程非常简单,安装完成后,可以在桌面得到如下的三个图标:
3. 开始使用:
点击Docker Quickstart Terminal图标(上图第二个图标),打开会自动更新,如果更新较慢,可以拷贝地址进行迅雷下载;
存放路径见(C:\Users\Administrator\.docker\machine\cache)。直到出现$符号后,就能正常输入命令。
注意图上 的ip地址,后期需要用到。
4 docker更新
如果本机安装的docker过期了,也就是有新版本的docker发布时,应该对本机的docker进行更新,否则很可能会影响它的继续使用,那么,对本机的docker进行更新可以安装下述方式:
(1)打开Docker Quickstart Terminal终端
(2)输入命令:docker-machine upgrade default
会开始自动更新本机的docker
二 、docker与selenium 部署
目前需要的是分布式的执行模式,故需要的镜像文件如下。
1 部署selenium,需要使用的镜像文件 selenium/hub selenium/node-chrome selenium/node-firefox
执行 docker pull selenium/hub ,即可下载。
2 创建selenium hub容器 dockerrun -p 5555:4444 --name hub selenium/hub
创建chrome node容器 docker run -d -p 5901:5900 --name node58 --linkselehub:hub --shm-size=512mbaozhida/selenium-node-chrome-debug:58
说明:
*-d参数:后台模式运行;--name参数:别名;
-p参数:将容器的5900端口映射到docker的5901端口,访问Docker的5901端口即可访问到node容器;
--shm-size参数:docker默认的共享内存/dev/shm只有64m,有时导致chrome崩溃,该参数增加共享内存大小到512m.*
3 输入命令docker ps -a 查看正在运行的容器,处于up状态
4 在浏览器输入地址http://192.168.99.100:4444/grid/console 查看Selenium Grid控制台,能看到刚创建的容器已经正常注册
5 本机运行代码如下所示,可看到运行的结果显示,无图形显示。也可以通过vnc view进行查看图形界面话。
VNC远程浏览器环境
debug结尾的镜像都带有VNC服务端,本机安装VNC客户端,即可远程连接。下载地址:https://www.realvnc.com/en/connect/download/vnc/
输入192.168.99.100:5901-->回车-->输入密码:secret-->确认–>进入chrome:58容器桌面 需要安装的镜像为selenium-node-chrome-debug
输入192.168.99.100:5901-->回车-->输入密码:secret-->确认–>进入firefox:52容器桌面 需要安装的镜像为selenium-node-firefox-debug