Selenium Grid 4.48.0 镜像发布解读:Edge 140 标签命名规范与版本矩阵全解析

发布时间:2026/10/4 1:42:50
Selenium Grid 4.48.0 镜像发布解读:Edge 140 标签命名规范与版本矩阵全解析 测试后端云原生容器编排可观测性【免费下载链接】docker-seleniumProvides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale项目地址https://gitcode.com/GitHub_Trending/do/docker-selenium点击查看免费下载本文以 docker-selenium 仓库中的 Edge 140 发布日志CHANGELOG/4.48.0/edge_140.md为主线完整解读 Selenium Grid 4.48.0 下 Edge 浏览器镜像的一次发布过程从命令参数、12 个镜像标签的命名规律到 tag_and_push_browser_images.sh 与 NodeEdge/Dockerfile 的源码级实现。读完本文你将掌握浏览器镜像变更日志的阅读方法、镜像标签的完整命名体系以及如何在 Selenium Grid 测试中准确选择或固定某个 Edge 版本。一、这份变更日志记录了什么CHANGELOG/4.48.0/edge_140.md是一份发布记录changelog完整保留了tag_and_push_browser_images.sh脚本为 Edge 140 浏览器镜像打标签时的命令与全部输出./tag_and_push_browser_images.sh 4.48.0 20260909 selenium false edge true Tagging images for browser edge, version 4.48.0, build date 20260909, namespace selenium Selenium Grid version - 4.48.0-20260909 Edge version - 140.0.3485.94 Short Edge version - 140.0 EdgeDriver version - 140.0.3485.94 Short EdgeDriver version - 140.0 Tagged selenium/node-edge:140.0.3485.94-edgedriver-140.0.3485.94-grid-4.48.0-20260909 Tagged selenium/standalone-edge:140.0.3485.94-edgedriver-140.0.3485.94-grid-4.48.0-20260909 Tagged selenium/node-edge:140.0.3485.94-edgedriver-140.0.3485.94-20260909 Tagged selenium/standalone-edge:140.0.3485.94-edgedriver-140.0.3485.94-20260909 Tagged selenium/node-edge:140.0.3485.94-20260909 Tagged selenium/standalone-edge:140.0.3485.94-20260909 Tagged selenium/node-edge:140.0-edgedriver-140.0-grid-4.48.0-20260909 Tagged selenium/standalone-edge:140.0-edgedriver-140.0-grid-4.48.0-20260909 Tagged selenium/node-edge:140.0-edgedriver-140.0-20260909 Tagged selenium/standalone-edge:140.0-edgedriver-140.0-20260909 Tagged selenium/node-edge:140.0-20260909 Tagged selenium/standalone-edge:140.0-20260909这份日志蕴含了本次发布的核心事实Selenium Grid 版本4.48.0-20260909即 Grid 4.48.0 搭配 2026 年 9 月 9 日构建日期20260909的构建号Edge 浏览器版本140.0.3485.94短版本号140.0EdgeDriver 驱动版本140.0.3485.94短版本号140.0镜像角色同一批标签同时打在node-edgeGrid Node 节点镜像与standalone-edge独立运行镜像两类镜像上产物数量每类镜像 6 个标签共 12 行Tagged输出。二、版本矩阵变更日志在发布体系中的定位这些 changelog 并非孤立文件它们共同构成仓库的「Selenium Grid × 浏览器版本矩阵」。在 CHANGELOG/README.md 中项目明确说明了这套矩阵的设计动机在持续提供最新 Selenium Grid 核心版本的同时让用户仍能通过固定某个浏览器版本进行跨浏览器测试或规避特定浏览器版本的限制与缺陷。项目为 Node 与 Standalone 两类镜像同时打包 Grid 与具体驱动/浏览器版本用户只需找到镜像标签、拉取镜像即可开始测试。如何阅读该矩阵原文要点每个 ✓ 都链接到对应 Grid 版本下、对应浏览器版本的详细变更日志例如 Edge 140 的日志就是 CHANGELOG/4.48.0/edge_140.md最新版本排在最前面降序排列项目同时明确声明并未对所有 Grid 与浏览器版本组合做完整功能测试用户需要根据自己的测试需求自行评估选择。以当前最新 Grid 版本 4.48.0 为例Edge 矩阵行覆盖edge_152到edge_114共 39 个浏览器版本更早的 Grid 版本如 4.47.0 及之前则归档到 CHANGELOG/archived 目录下作为历史对照。三、逐条解码命令参数与 12 个镜像标签3.1 命令的 6 个位置参数对照 tag_and_push_browser_images.sh 开头的参数声明第 3~9 行本次命令的 6 个参数含义如下参数本次取值说明VERSION4.48.0Selenium Grid 版本号BUILD_DATE20260909构建日期YYYYMMDDNAMESPACEselenium镜像命名空间PUSH_IMAGEfalse是否推送到镜像仓库true/false默认falseBROWSERedge浏览器类型chrome/chromium/edge/firefox/chrome-for-testingRELEASE_OLD_VERSIONtrue是否为旧版本保留不带构建日期的标签默认falsePLATFORM未传默认linux/amd64仅 chrome、chrome-for-testing 分支探测版本时使用脚本开头还会执行TAG_VERSION${VERSION}-${BUILD_DATE}得到4.48.0-20260909作为日志中「Selenium Grid version」的输出值。3.2 六种标签命名模式从源码第 163~175 行的EDGE_TAGS数组可以看出每次发布为每类镜像固定生成 6 个标签按以下模式拼接其中V为完整 Edge 版本、D为完整 EdgeDriver 版本、SV/SD为对应的两位短版本#模式本次实际标签1V-edgedriver-D-grid-TAG_VERSION140.0.3485.94-edgedriver-140.0.3485.94-grid-4.48.0-202609092V-edgedriver-D-BUILD_DATE140.0.3485.94-edgedriver-140.0.3485.94-202609093V-BUILD_DATE140.0.3485.94-202609094SV-edgedriver-SD-grid-TAG_VERSION140.0-edgedriver-140.0-grid-4.48.0-202609095SV-edgedriver-SD-BUILD_DATE140.0-edgedriver-140.0-202609096SV-BUILD_DATE140.0-20260909每一类标签都会依次通过retag node-edge ...与retag standalone-edge ...应用到两个镜像上源码第 189~192 行因此日志中每行标签都出现两次node-edge 在前、standalone-edge 在后合计 12 行。3.3 为什么这里只打了 6 个标签脚本在第 176~187 行还有一个条件分支当RELEASE_OLD_VERSIONfalse时会追加 4 个不带构建日期的标签V-edgedriver-D、V、SV-edgedriver-SD、SV。本次命令第 6 个参数为true即「这是旧版本的发布」因此跳过了这 4 个标签——这样140.0.3485.94、140.0这类通用短标签就不会被早期版本抢先占用或覆盖。这也是本日志中只出现 12 行而非 20 行Tagged输出的原因。四、源码视角tag_and_push_browser_images.sh 如何工作4.1 版本探测从镜像内部读取真实版本脚本并不依赖外部传入浏览器版本而是直接运行刚构建好的镜像来探测第 152~161 行edge 分支EDGE_VERSION$(docker run --rm ${NAMESPACE}/node-edge:${TAG_VERSION} microsoft-edge --version | awk {print $3}) EDGE_SHORT_VERSION$(short_version ${EDGE_VERSION}) EDGEDRIVER_VERSION$(docker run --rm ${NAMESPACE}/node-edge:${TAG_VERSION} msedgedriver --version | awk {print $4}) EDGEDRIVER_SHORT_VERSION$(short_version ${EDGEDRIVER_VERSION})microsoft-edge --version的标准输出形如Microsoft Edge 140.0.3485.94因此取第 3 个字段msedgedriver --version的标准输出形如Microsoft Edge WebDriver 140.0.3485.94 (...) commit: ...因此取第 4 个字段两个版本号经short_version函数第 53~57 行按.分割后取前两段压缩为140.0用于生成短标签。从源码结构看该函数同时服务于所有浏览器分支chrome 取google-chrome --version的第 3 字段、firefox 取firefox --version的第 3 字段与geckodriver --version首行的第 2 字段实现逻辑统一、字段位置因输出格式而异。4.2 retag打标签与推送的两种路径核心的retag函数第 31~51 行根据环境变量PROMOTE_TAGS走两条路径默认路径docker tag ${NAMESPACE}/${image}:${TAG_VERSION} ${NAMESPACE}/${image}:${__tag}随后在PUSH_IMAGEtrue时执行docker push。本次PUSH_IMAGEfalse所以只完成本地打标签日志仅输出Tagged ...发布推广路径PROMOTE_TAGStrue直接用docker buildx imagetools create在 registry 之间复制 manifest从而保留多架构multi-architecture索引而不是重新构建。脚本注释说明docker tag无法表达「把已发布镜像复制为新标签」且docker pull只能拉取执行机单一架构因此需要 imagetools 在索引层操作。PROMOTE_GHCR_NAMESPACE非空时会在同一次调用中同步镜像到 GHCR。另外需要注意一个细节第 16 行脚本内NAMESPACE${NAME:-selenium}会重新赋值即第 3 个命令行参数实际上让位于NAME环境变量未设置NAME时固定为selenium——这也与本次日志中 namespace 为selenium的输出一致。4.3 与其他浏览器的统一入口脚本以case ${BROWSER}区分五个分支chrome、chromium、edge、firefox、chrome-for-testing每个分支结构相同探测版本 → 生成 64 个标签 → 对 node/standalone 两类镜像逐一 retag。在 Makefile 中这一脚本被封装为tag_and_push_edge_images第 792~793 行等目标并由tag_and_push_browser_images第 781 行聚合为一条命令tag_and_push_browser_images_ghcr第 798~808 行则通过docker images枚举所有标签并同步到 GHCR。五、镜像构建源头NodeEdge/Dockerfile 中的 Edge 与 EdgeDriver标签背后的版本一致性来源于 NodeEdge/Dockerfile 的构建逻辑。5.1 Edge 浏览器的安装ARG EDGE_VERSIONmicrosoft-edge-stable第 16 行默认安装 stable 渠道最新版可通过EDGE_VERSION指定具体版本如microsoft-edge-beta88.0.692.0-1由于微软会从 packages.microsoft.com 清理旧版本特定版本安装改为从EDGE_ARCHIVE_SITE第 20 行指向 NDViet/microsoft-edge-stable 的 per-version 归档镜像 Google Chrome 的处理思路下载.deb文件并使用--allow-downgrades允许降级安装第 24~33 行最新版仍走常规 apt 仓库路径。5.2 EdgeDriver 的解析与回退链第 51~68 行的驱动安装逻辑体现了三层回退设计未显式指定EDGE_DRIVER_VERSION时先取本机microsoft-edge --version的主版本号EDGE_MAJOR_VERSION再请求msedgedriver.microsoft.com/LATEST_RELEASE_${EDGE_MAJOR_VERSION}_LINUX获取该主版本的最新驱动号若该指针已被微软清理请求失败回退为当前浏览器完整版本号140.0.3485.94若下载失败再从EDGE_ARCHIVE_SITE归档兜底。下载时根据dpkg --print-architecture选择linux64或linux-aarch64第 52 行最终解压到/opt/selenium/msedgedriver-${EDGE_DRIVER_VERSION}并通过符号链接暴露为/usr/bin/msedgedriver。这正是上一节「Edge 与 EdgeDriver 版本一致140.0.3485.94」这一事实的构建侧根源。5.3 浏览器元信息与启动包装构建期将浏览器信息写入/opt/selenium/browsers/edge/第 82~85 行nameMicrosoftEdge、version取microsoft-edge --version第 3 字段、binary_locationJSON 形式支持SE_BROWSER_BINARY_LOCATION环境变量覆盖wrap_edge_binary 把/usr/bin/microsoft-edge替换为包装脚本用于umask 002保证文件权限可写、将--langxx转换为LANGUAGE环境变量、收集所有SE_BROWSER_ARGS_*前缀环境变量作为浏览器附加参数并最终以exec -a方式带--no-sandbox启动真实二进制镜像还设置了SE_OTEL_SERVICE_NAMEselenium-node-edge与SE_NODE_ENABLE_MANAGED_DOWNLOADStrue第 87~88 行。六、从标签到实践如何在测试中使用这些镜像6.1 直接拉取与运行以本次日志中真实存在的标签为例# 拉取带完整版本信息的 Node 镜像推荐用于 Grid 节点 docker pull selenium/node-edge:140.0.3485.94-edgedriver-140.0.3485.94-grid-4.48.0-20260909 # 拉取带构建日期的短标签体积语义清晰、便于团队对齐 docker pull selenium/standalone-edge:140.0-20260909 # 直接运行 Standalone 镜像访问 http://localhost:4444 docker run -d -p 4444:4444 --shm-size2g \ selenium/standalone-edge:140.0.3485.94-edgedriver-140.0.3485.94-grid-4.48.0-20260909Standalone/Dockerfile 以 node-edge 为基础镜像内置 Selenium Grid 的 Standalone 模式同一 JVM 内包含 Hub、Node 与驱动并导出SE_SESSION_REQUEST_TIMEOUT、SE_SESSION_RETRY_INTERVAL、SE_HEALTHCHECK_INTERVAL、SE_RELAX_CHECKS、SE_REJECT_UNSUPPORTED_CAPS等环境变量映射到对应的 Grid 命令行参数默认在 4444/4443/4442 端口提供 WebDriver 服务。6.2 版本固定的选择策略需要强一致复现选用140.0.3485.94-edgedriver-140.0.3485.94-grid-4.48.0-20260909这类全信息标签浏览器、驱动、Grid 三者版本一目了然只需关注浏览器大版本选用140.0-20260909短标签跟随该大版本内的最新构建跨浏览器测试可同时固定 Edge 140node-edge:140.0-...、Chrome 与 Firefox 对应标签并借助 CHANGELOG/README.md 的矩阵核对各浏览器版本与 Grid 版本的对应关系注意不带构建日期的短标签如140.0只在RELEASE_OLD_VERSIONfalse的发布中生成若需依赖这类标签请以具体发布日志为准。6.3 从构建到发布的一条链如果要复现本日志对应的发布流程可以对照 Makefile 中的目标edge_upgrade_version第 772~777 行先构建并校验 node-edge 与 standalone-edge依次运行selenium-server.jar info --version、microsoft-edge --version、msedgedriver --version随后tag_and_push_edge_images执行 tag_and_push_browser_images.sh 完成打标签与推送最后可选用tag_and_push_browser_images_ghcr同步 GHCR 仓库。七、小结edge_140.md虽然只有一份命令输出但它是 docker-selenium 发布体系的最小自洽样本12 个标签完整呈现了「浏览器版本-驱动版本-Grid 版本-构建日期」的四维命名空间背后的脚本用「docker run 探测版本 retag 打标签」的流水线统一服务五种浏览器NodeEdge/Dockerfile 则用归档源与三层回退链保证了 Edge 140.0.3485.94 与 EdgeDriver 140.0.3485.94 的稳定捆绑。理解了这份日志你就能在 Selenium Grid 的众多标签中快速定位、固定并复现任意一次浏览器版本发布。赞分享测试后端云原生容器编排可观测性【免费下载链接】docker-seleniumProvides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Container Platform, making it easier to perform browser automation at scale项目地址https://gitcode.com/GitHub_Trending/do/docker-selenium点击查看免费下载相关推荐docker-selenium 4.48.0 Chrome for Testing 140 镜像发布全解析打标签脚本、标签规范与版本矩阵docker selenium 4.48.0 Chrome for Testing 140 镜像发布全解析打标签脚本、标签规范与版本矩阵 本文以 CHANGE测试后端云原生容器编排可观测性Selenium Grid 4.48.0 与 Edge 121 镜像发布解析从 tag_and_push_browser_images.sh 到 NodeEdge 镜像的版本标签全解读Selenium Grid 4.48.0 与 Edge 121 镜像发布解析从 tag_and_push_browser_images.sh 到 NodeEd测试后端云原生容器编排可观测性docker-selenium 4.48.0 发布记录解析Edge 115 镜像的版本矩阵与多标签打标机制docker selenium 4.48.0 发布记录解析Edge 115 镜像的版本矩阵与多标签打标机制 本篇技术指南以 CHANGELOG/4.48.0/测试后端云原生容器编排可观测性上一篇Premonish 开源项目教程下一篇【亲测免费】从零开始搭建 Facebook Messenger Bot完整开源指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询