配合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还不支持

参考文章:

推荐阅读更多精彩内容