Docker+Selenium Grid构建分布式Web测试环境
来源:互联网 发布:ccdd数据库官网 编辑:程序博客网 时间:2024/06/08 08:16
一. 简介
当前容器技术不断发展,越来越多的应用部署到容器上,改变了软件部署的方式。因此我们考虑利用Docker容器技术并且结合Selenium Grid来搭建一套Web分布式测试集群。
二. 准备工作
Docker环境
首先需要在本机安装Docker环境,这里就不具体介绍如何在不同系统安装Docker了。安装好Docker以后,输入docker version查看docker的版本信息验证是否安装成功。
Selenium相关镜像
selenium/hub
wywincl/node-firefox-debug
从docker hub上拉取最新的镜像
docker pull selenium/hubdocker pull wywincl/node-firefox-debug
三. 启动容器
第一步,启动selenium-hub
docker run -d -p 4444:4444 --name selenium-hub selenium/hub
第二步,启动node-firefox-debug,注册到hub节点上
docker run -d -P -p 5901:5900 --link selenium-hub:hub wywincl/node-firefox-debug
四. 测试
执行docker ps命令,查看容器是否正常启动;
docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES39693a681c29 wywincl/node-firefox-debug "/opt/bin/entry_point" 24 minutes ago Up 24 minutes 0.0.0.0:5901->5900/tcp elegant_dijkstrada8c2598666f selenium/hub "/opt/bin/entry_point" 9 days ago Up 51 minutes 0.0.0.0:32768->4444/tcp selenium-hub
运行一个基本的测试用例demo.robot,如下所示, 我们的用例是用Robot Framework编写的,具体编写方法请参考Robot Framework测试框架
*** Setting ***Library Selenium2Library*** Variables ***${HOST} https://www.baidu.com*** Test Cases ***T_Case_1 Log Open Browser Open Browser ${HOST} firefox remote_url=http://0.0.0.0:32768/wd/hub Input Text id=kw Robot Framework Click Button id=su Capture Page Screenshot Sleep 5s Close Browser*** Keywords ***
执行测试用例
robot demo.robot
我们可以通过vncviewer连接到我们的node-firefox-debug实例来查看实际运行效果。
Docker桌面显示
上面的Case,我们用了截图关键字Capture Page Screenshot
, 因此我们看到在容器中的firefox的截图页面。方便调试。
点击预览视频,查看实际演示效果。
通过hub-console查看节点注册情况
到此,我们就完成了在Docker中构建Firefox执行实例了。后面我们会重点介绍如何利用docker-compose,docker-swarm来构建分布式Web测试集群。同时利用jenkins实现持续集成,达到Devops最佳实践。
最终的效果图如下:
五. 贡献
大家应该注意到了容器中的firefox显示中文出现了部分乱码情况,由于目前还没有时间解决该问题,希望大家有空可以帮忙解决。项目地址node-firefox-debug, 欢迎大家pull request.
- Docker+Selenium Grid构建分布式Web测试环境
- selenium结合docker构建分布式测试环境
- 使用docker selenium 构建web自动化分布式测试环境时,遇到的一些问题
- docker+selenium grid+python实现分布式自动化测试
- docker+selenium web自动化测试环境的部署
- Selenium grid 分布式运行测试代码
- 使用python-selenium grid进行分布式测试
- jenkins+selenium grid实现分布式自动化测试
- Docker与Web自动化测试:一键创建Selenium Grid集群
- selenium grid环境搭建
- 自动化测试(Selenium Grid+Java)--环境配置篇
- 搭建selenium grid,调用IE进行web自动化测试
- 使用 Docker 构建开发、测试环境
- 使用 Docker 构建开发、测试环境
- Docker构建并测试Web应用程序
- docker构建Java Web + Mysql运行环境
- 构建基于 Docker + Jenkins + Sahi 的 Web UI 自动化测试环境
- 快速搞定selenium grid分布式
- 启动WebLogic服务时,出现“此时不应有xxxjdk”
- BZOJ1572 [Usaco2009 Open]工作安排Job
- hdu5748 Bellovin(LIS lower_bound的使用)
- ubuntu16.04安装Ulipad
- 安装redhat时中文显示乱码(小方框)及中文输入法安装解决方法
- Docker+Selenium Grid构建分布式Web测试环境
- ASP.NET 身份验证机制
- 思维的误区:忽视沉默的大多数
- 华为oj 扑克牌的大小
- oracle表连接------>排序合并连接(Merge Sort Join)
- HDOJ 1394 Minimum Inversion Number【求逆序数】
- 给嵌入式工程师的一封信
- 错误记录二
- DayDayUp周报总目录