selenium grid 用于webui automation的分布式测试,  一般常规情况下,测试不建议用多线程,多线程会有很多问题,比如并发,锁机制等,什么时候线程该动什么时候停,考虑并发协同机制等等,测试没必要用自动化去实现多线程,线程阻塞等等问题。

 

分布式相当于多机器协同,多机器协同完成一个任务。在webui的自动化测试中,selenium grid用于做浏览器的分布式测试,你可以让多台电脑一起测试,或者当设定的当前的极限,转到另一个机器上进行运行。

 

selenium grid支持多浏览器,支持selenium,同时是免费和开源的。准备环境到配置。之前公司是把selenium grid与openshift集成,现在我们来本地搭建和配置一个这样的环境,直接使用开源的东西。

 

selenium grid的工作原理:

     selenium原理是发送一段命令给cpu, cpu会把对应的指令下达给浏览器,那selenium grid是有个总线机制,selenium grid 设置一个电脑为主节点hub,其他电脑设置多个分支节点node, 根据主节点hub,去分发通信命令给多个分支节点node,当单个分支节点出问题了或者异常,可以转到另一个分支节点继续执行

 hub 启动主节点,这个节点只需要启动,完后去开放ip和端口号,node 启动, 他的ip通过网络传输给hub节点,

 

selenium grid的配置和启动

selenium官网下载: Selenium

下载这个selenium server grid jar file

下载之后直接启动命令: cmd 里面java -jar .\selenium-server-4.33.0.jar hub

这个作为主节点,端口号默认是4444,他还支持其他的命令有需要可以查查。

 有了主节点之后,就可以去浏览器里面看看selenium grid的hub起来了么。默认的端口号是4444

 

 

hub起来之后,可以为主节点添加多个node节点,node节点需要指定hub ip进行关联

我没有那么多电脑作为node节点,所以还是本机开始配置node。java -jar .\selenium-server-4.33.0.jar node --hub http:*****:4444

 

 

 

 

node启动成功之后,selenium grid可以看到node起来了。

 环境搭好之后,自动化测测试脚本可以用remote run的方式执行(driver使用RemoteWebDriver)。运行之后,selenium grid可以看到session 新建出来,点击进去可以看到case的操作流程。也可以进行remote的debug。

 

selenium grid 官网: Grid | Selenium

                                                                                                                                                                                                                               博主: haining 

                                                                                               

posted on 2025-06-26 11:00  小海海宁宁  阅读(58)  评论(0)    收藏  举报