当前位置: 首页 > article >正文

docker swarm里搭建Selenium Grid分布式测试集群,测试节点随时在线,无需反复启停,效率增倍

分布式测试集群搭建

Selenium Grid 是 Selenium 生态系统中的关键组件,专为分布式测试设计,支持在多环境、多设备上并行执行测试用例,显著提升测试效率

核心组成:

  • Hub(中心节点):作为控制中枢,负责接收测试请求并将任务分发至符合条件的节点。通常运行在单一机器上。

  • Node(执行节点):实际执行测试的机器,可注册到 Hub。每个节点可配置不同的浏览器、版本及操作系统(如 Chrome on Windows、Firefox on macOS)。

docker Swarm里执行

先启动hub中心

docker service create \
  --name selenium-hub\
  --with-registry-auth\
  --network product_overlay_network \
  --replicas 1 \
  --constraint 'node.labels.jeecgcenter== true' \
   docker.m.daocloud.io/selenium/hub:latest

再启动node节点

docker service create \
  --name selenium-node-chromium \
  --network product_overlay_network \
  --replicas 1 \
  --constraint 'node.labels.jeecgcenter==true' \
  -e SE_EVENT_BUS_HOST=selenium-hub \
  --mount type=tmpfs,destination=/dev/shm,tmpfs-size=2g \
  -e SE_EVENT_BUS_PUBLISH_PORT=4442 \
  -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
  docker.m.daocloud.io/selenium/node-chromium:latest

注意:swarm集群和 network网络请自行创建。

  • 子节点可以后面调整节点个数,默认为1个

效果展示:

启动8个节点的效果如下:

在这里插入图片描述

使用场景

  • 1.不同类型浏览器进行测试用例测试
  • 2.数据抓取的时候,使用该集群可以减少浏览器安装以及驱动配置支持selenium,playwright框架。

优势

可以指定任意数量的节点运行,
节点实时运行,不需要每次都启动停止浏览器,用完只需断开连接,后面继续使用连接上来就行,效率很高


http://www.kler.cn/a/541500.html

相关文章:

  • python-leetcode 25.环形链表
  • 设计模式-命令模式
  • 【STM32】ADC
  • 基于Python的人工智能驱动基因组变异算法:设计与应用(下)
  • Python----PyQt开发(PyQt基础,环境搭建,Pycharm中PyQttools工具配置,第一个PyQt程序)
  • MacBook Pro M2安装deepseek
  • 构建Ubuntu unminimized的docker镜像
  • 支付宝安全发全套解决方案
  • spring-ai
  • Java 大视界 -- Java 大数据在智能体育中的应用与赛事分析(80)
  • Android 稳定性优化总结
  • 【LeetCode: 378. 有序矩阵中第 K 小的元素 + 二分】
  • 缓存组件<keep-alive>
  • 关于SpringBoot的理解
  • 无人机常见的定位方式
  • Lisp语言的测试开发
  • 十三. Redis 应用问题和解决方案思想
  • 从零到一:我的元宵灯谜小程序诞生记
  • 从MySQL优化到脑力健康:技术人与效率的双重提升
  • IDEA接入DeepSeek
  • 企业级Mysql实战
  • Vue 响应式渲染 - Vue2 Class和style
  • 功能测试常用方法概述
  • 有关网络安全的案例分享 如何保障网络安全
  • c++面试:符号修饰
  • C# Winform 使用委托实现C++中回调函数的功能