Selenium

docker+selenium+python构建前端自动化分布式测试环境

docker + selenium + python 构建前端自动化分布式测试环境。利用seleninum-grid分布式框架,python编写测试代码,docker部署来进行前端自动化测试

2018-2-1 更新 使用docker-compose编排

分布式部署的优点 #

自动化的优缺点就不再重复了,主要分析下docke部署和分布式的优势

  • 提高自动化的测试效率(分布式)
  • 方便打包和持续集成(docker)
  • 解决多人coding,却因为路径不一致导致无法运行的问题(当然也可以通过其他方式来解决~)

这里还有一个问题就是:使用docker部署方式运行测试代码,是看不见本地浏览器启动的,因此在调试测试代码的时候,需要一定的工具来协助,譬如VNC viewer

开篇-selenium #

大家都知道 Selenium 是支持多种浏览器多个编程语言的一个自动化测试工具。而 Selenium Grid 是一种可以让用户在不同的环境和不同的浏览器上并行运行 web 测试用例的框架。换而言之,使用 Selenium Grid 可以让我们在分布式测试环境下执行测试,例如 Windows,Linux,Mac OS,Andoid/iOS 等等,这样可以大大减少重复的工作量,提高我们的工作效率。

selenium分布式结构如图: selunium-grid

搭建分布式环境 #

在Dockerhub已经具有了相应的selenium的镜像,我们直接使用就行了

拉取镜像 #

docker pull selenium/hub
docker pull selenium/node-chorme-debug

关于node-chrome-debugnode-chrome的区别: 暂未研究

运行容器 #

docker run -d -p 4444:4444 --name sel-hub selunium/hub # 运行hub服务
docker run -d -p 5900:5900 --link sel-hub:hub selunium/node-chrome-debug # 运行slenium chrome 节点
# more node could append like node-chrome-debug

查看节点信息 #

在浏览器中打开http://127.0.0.1:4444/grid/console 这里需要注意的是,如果是在本地运行的容器,并映射4444端口,因此得到127.0.0.1:4444,如果是在虚拟机中运行,ip和端口应该根据网络来获取相应的IP和PORT

...

访问量 访客数