Agent Skills
返回列表
🔒

Selenium Grid 自动扩缩容编排器

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/selenium-grid-auto-scaling-orchestrator。

技能介绍

要解决的问题

在 CI 环境中跑 Web UI 自动化,负载波动很大:白天几十个并发测试,深夜可能一个都没有。Selenium Grid 的节点数一旦固定,要么高峰期排队严重,要么低谷期机器空转。手动盯着队列增减 Docker 容器既不现实,也容易在扩缩容风暴里出错。这个技能把「根据队列深度自动增减节点」变成可重复执行的编排流程。

核心能力

  • 队列驱动的扩缩容:通过 Grid 4 暴露的 GraphQL API 读取测试队列深度(queue depth),据此决定拉起还是回收节点,而不是依赖固定阈值或定时器。
  • Docker 容器生命周期管理:Chrome、Firefox、Edge 三类浏览器节点都以容器形式承载,技能负责创建、销毁与状态跟踪。
  • 健康监控:对运行中的节点做健康检查,避免把请求打到已失活的节点上。

关键步骤

  1. 轮询 Grid 的 GraphQL API,获取当前队列深度与各节点状态;
  2. 对比队列长度与可用节点数,得出扩容、缩容或维持三种决策之一;
  3. 执行决策:拉起新容器、停掉多余容器,或保持不动;
  4. 持续监控节点健康,对异常节点按策略处理。

适用边界与注意点

  • 前提是 Grid 4 启用了 GraphQL API,老版本或未开启该接口的环境无法工作。
  • 节点运行依赖 Docker,宿主机需能拉取对应浏览器镜像;镜像拉取延迟会直接影响扩容速度。
  • 上游资料提到可以用 Docker 镜像或 Dev Container 方式部署运行环境,具体形态取决于流水线约束。
  • SKILL.md 中混入了上游仓库的部分构建说明(如 Bazel 相关内容),与核心编排逻辑无直接关系,落地前建议以 Selenium 官方文档为准核对行为。

使用场景

  • CI 流水线里 UI 测试并发量波动大,需要根据队列深度增减 Chrome、Firefox、Edge 浏览器节点
  • 回归测试高峰期测试排队严重,需要动态拉起更多 Selenium Grid 节点消化积压任务
  • 测试结束后容器仍在运行浪费资源,需要按队列状态回收空闲浏览器容器
  • Grid 节点运行中失活,需要持续健康监控并管理浏览器节点容器生命周期

适合人员

  • 测试基础设施工程师,需要把 Selenium Grid 节点扩缩容接入 CI 自动化流程
  • DevOps 工程师,负责用 Docker 管理浏览器节点并优化测试资源利用率
  • QA 平台开发者,希望基于 Grid GraphQL API 实现队列驱动的节点调度
  • 持续集成负责人,需要在测试并发高峰稳定执行 Web 自动化用例