十一、创建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)查看截图
 

 

 

 
 
 
posted @ 2020-03-30 20:07  晨尛  阅读(213)  评论(0)    收藏  举报