一、分布式自动化测试要解决什么问题?
分布式自动化测试要解决什么问题?
1、减少脚本执行耗时
2、减少对单机器的资源消耗
3、实现分布式兼容性测试
分布式自动化测试实现重点:
1、控制多机器并行运行,资源监控
2、测试用例执行顺序控制
3、测试报告收集合并
纵观开源技术,拿现在最流行的selenium\docker 来实践分布式自动化测试框架。
selenium grid是selenium的三大组件之一,它的作用就是分布式测试执行,它是由一个hub节点和若干个node代理节点组成,Hub用来管理各个代理节点的注册信息和状态信息,并且接受远程客户端代码的请求调用,然后把请求的命令转发给代理节点来执行。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
二、分布式环境搭建
1、环境准备
准备一台 Linux 服务器(云服务器、自建 Linux 服务器都可以)。
在 Linux 服务器上安装 docker,docker安装就不讲了,照着官网的命令来就可以了,很简单的。
2、创建容器
利用容器技术我们可以快速的构建我们selenium hub和node 环境,其实selenium官网已经为我们制作好了镜像,我们只需要在docker环境中拉取即可,以下为selenium官网为我们提供的镜像名称
拉取hub镜像
拉取chrome浏览器镜像
拉取firefox浏览器镜像
1 2 3 |
|
3、启动容器
启动hub节点的docker
-d:后台运行容器
-p:5442-5444:4442-4444:端口号一一映射,其中4444为web服务
5442,5443:node节点与hub节点用例通信的
1 |
|
-p:5902:5900:作用是访问浏览器的图形界面
vnc 是linux的图形界面服务,远程桌面服务
-e:环境变量
SE_EVENT_BUS_HOST:指定主节点的ip地址
SE_NODE_MAX_SESSIONS=20:最多启动20个session(20个浏览器)
启动hub节点的docker
1 2 3 4 |
|
1 2 3 4 |
|
4、查看容器运行状态
1 2 3 |
|
5、查看Selenium hub 、node 启动状态
6、启动VNC Server
连接我们启动的容器IP:PORT,密码默认为sercet
到此,我们自动化测试的运行环境已经配置完毕,接下来看我们自动化测试脚本如何设计
7、测试脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】