十一、创建Docker selenium容器
SeleniumHQ官方项目:https://github.com/seleniumHQ/docker-selenium
1、Selenium
这里主要针对的是 Selenium Grid,它用于分布式自动化测试,就是一套Selenium 代码可在不同的环境上运行。刚好,Docker可快速的创建各种环境。
-
Selenium Grid有两个概念
-
hub:主节点
-
node:分支节点
就是说在Selenium Grid中只能有一个主hub,但可以在本地或远程建立 N 多个分支node,测试脚本指向主hub,由主hub 分配给本地/远程node 运行测试用例。
2、Docker selenium 环境安装
以Ubuntu为例,在Ubuntu下安装Docker,docker hub(仓库):https://hub.docker.com/r/selenium/hub/
(1)下载主hub镜像
$ sudo docker pull selenium/hub
(2)下载主node chrome镜像
$ sudo docker pull selenium/node-chrome
(3)查看镜像
$ sudo docker images
(4)启动主hub容器
$ sudo docker run -d -P --name selenium-hub selenium/hub
-
-d 表示容器以守护态(Daemonized)形式运行。
-
-P 表示 Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。
(5)启动分支node chrome 容器
$ sudo docker run -d --link selenium-hub:hub selenium/node-chrome
-
–link 通过 link 关联 selenium-hub 容器,并为其设置了别名hub
(6)查看容器
$ sudo docker images
这里需要注意,Selenium/hub 容器的端口号为 4444,对Ubuntu映射的端口为 32768,前面通过 -P 参数自动分配。
工作原理
selenium Grid脚本 -> ubuntu(32768) -> Hub容器(4444) -> Node Chrome 容器
3、创建Grid测试脚本与运行
(1)编写Selenium Grid脚本(grid_demo.py)
(2)运行脚本
(3)查看截图

浙公网安备 33010602011771号