小小糖 发表于 2018-5-4 16:26:26

配合uirecorder使用docker selenium

UI recorder的介绍在上个文章中有,这里就不过多介绍了。
这篇文章主要记录一下,使用docker selenium配合uirecorder做自动化测试的整个过程。

docker selenium

GitHub地址:https://github.com/SeleniumHQ/docker-selenium
镜像地址:https://hub.docker.com/r/selenium/
包含的镜像及说明:
selenium/base: 包含Java运行组件及Selenium jar文件的基础镜像
selenium/hub: 运行Selenium Grid Hub的镜像
selenium/node-base: 包含虚拟桌面环境及VNC支持的Selenium Grid Node基础镜像
selenium/node-chrome: 包含Chrome的Selenium node镜像需要连接 Selenium Grid Hub使用
selenium/node-firefox:包含firefox的Selenium node镜像需要连接 Selenium Grid Hub使用
selenium/standalone-chrome:包含 Chrome的Selenium standalone镜像(不需要连接SeleniumGrid Hub)
selenium/standalone-firefox: 包含 Firefox的Selenium standalone镜像(不需要连接 Selenium Grid Hub)
selenium/standalone-chrome-debug:包含Chrome和VNC Server的Selenium standalone镜像
selenium/standalone-firefox-debug:包含Firefox和VNC Server的Selenium standalone镜像
selenium/node-chrome-debug: 包含Chrome和VNC Server的Selenium Grid Node 镜像,需要连接Selenium Grid Hub使用
selenium/node-firefox-debug: 包含 Firefox和VNC Server的Selenium Grid Node 镜像,需要连接 Selenium Grid Hub 使用
docker 代替虚拟机组建 Selenium Grid 的好处

不再需要自己安装 python,浏览器等,只需要按照需要 run 这些 docker image 即可
只需要有一台 OS 支持 Docker Engine 的虚拟机/物理机就可以跑了
根据自己需要开启和组建自己的 selenium grid ,大大缩短了以前增加和配置虚拟机所花的时间。同时由于组建 grid 成本低,因此不需要 grid 的时候直接关闭即可
拉取镜像跑起来

这里就不介绍docker了,这篇的重点不在如何使用docker上。

docker pull selenium/hub
docker pull selenium/node-chrome
先拉取所需镜像,这里我使用hub和node-chrome
docker run -d --name hub -p 4444:4444 selenium/hub
docker run -d -P -p 5901:5900 -p 15000:5555 --link hub:hub selenium/node-chrome
启动这两个镜像

配合uirecorder

如何录制什么的,可以参考我的上一篇文章。

修改config文件为node-chrome节点



之后正常运行脚本

总结

优势

在运行的时候你会发现速度相较于虚拟机会快非常多
对于 selenium grid 环境,Docker 相比 VM 的优势在于快速启动和快速部署
对于变更频繁的测试环境,使用 docker 能减少很多部署的时间
不足
IE还不支持



页: [1]
查看完整版本: 配合uirecorder使用docker selenium