资讯动态

Selenium Grid 4.35.0 Chrome 113 镜像标签全解析:tag_and_push_browser_images.sh 的标签体系与固定版本实战

发布时间:2026/10/9 4:49:59 来源:尧图企业网站定制
测试后端云原生容器编排可观测性【免费下载链接】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点击查看免费下载Selenium Grid 4.35.0 版本同时为 Chrome 113 发布了selenium/node-chrome与selenium/standalone-chrome共 12 个标签本篇文章以 CHANGELOG/archived/4.35.0/chrome_113.md 这份归档变更记录为骨架完整拆解每条标签的命名含义、背后脚本的版本探测与打标签流程并结合仓库内的 Dockerfile、Makefile 与 docker-compose 配置给出如何固定浏览器版本跑测试的可复制方案。读完你将能读懂 Selenium Grid 浏览器镜像的整套 Tagging Convention并能按需挑选最合适的标签拉取镜像。这份 Changelog 记录了什么归档在CHANGELOG/archived/下的chrome_113.md是一份构建产物级的发布日志它不是人工撰写的说明而是脚本 tag_and_push_browser_images.sh 的真实执行输出。原文如下完整保留./tag_and_push_browser_images.sh 4.35.0 20250909 selenium false chrome true Tagging images for browser chrome, version 4.35.0, build date 20250909, namespace selenium Selenium Grid version - 4.35.0-20250909 Chrome version - 113.0.5672.126 Short Chrome version - 113.0 ChromeDriver version - 113.0.5672.63 Short ChromeDriver version - 113.0 Tagged selenium/node-chrome:113.0.5672.126-chromedriver-113.0.5672.63-grid-4.35.0-20250909 Tagged selenium/standalone-chrome:113.0.5672.126-chromedriver-113.0.5672.63-grid-4.35.0-20250909 Tagged selenium/node-chrome:113.0.5672.126-chromedriver-113.0.5672.63-20250909 Tagged selenium/standalone-chrome:113.0.5672.126-chromedriver-113.0.5672.63-20250909 Tagged selenium/node-chrome:113.0.5672.126-20250909 Tagged selenium/standalone-chrome:113.0.5672.126-20250909 Tagged selenium/node-chrome:113.0-chromedriver-113.0-grid-4.35.0-20250909 Tagged selenium/standalone-chrome:113.0-chromedriver-113.0-grid-4.35.0-20250909 Tagged selenium/node-chrome:113.0-chromedriver-113.0-20250909 Tagged selenium/standalone-chrome:113.0-chromedriver-113.0-20250909 Tagged selenium/node-chrome:113.0-20250909 Tagged selenium/standalone-chrome:113.0-20250909从这段输出可以提炼出四个关键事实镜像组合每次发布同时为 Node加入 Grid 的浏览器节点与 Standalone内置完整 Grid 的独立容器两个镜像形态打标签版本三元组Selenium Grid4.35.0-20250909、Chrome113.0.5672.126、ChromeDriver113.0.5672.63长短两种精度Chrome/ChromeDriver 同时保留主.次.修订的完整版本号与主.次的短版本号由 short_version 函数 截取前两段得到发布方式本次为RELEASE_OLD_VERSIONtrue最后一个参数true因此只打带日期后缀的 6 类标签未追加不带日期的旧式标签。入口脚本参数与执行流程所有浏览器镜像标签都由 tag_and_push_browser_images.sh 统一生成Makefile 通过 tag_and_push_chrome_images 等目标间接调用它tag_and_push_chrome_images: ./tag_and_push_browser_images.sh $(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE) chrome $(RELEASE_OLD_VERSION)脚本共接收 7 个位置参数其中后 3 个有默认值位置变量含义本次调用值$1VERSIONSelenium Grid 版本号4.35.0$2BUILD_DATE构建日期YYYYMMDD20250909$3NAMESPACE镜像命名空间默认seleniumselenium$4PUSH_IMAGE是否docker push默认falsefalse$5BROWSER浏览器分支chrome / chromium / edge / firefox / chrome-for-testingchrome$6RELEASE_OLD_VERSION是否追加无日期旧式标签默认falsetrue$7PLATFORM探测版本时指定的平台默认linux/amd64未传用默认值脚本执行分为两大阶段。阶段一从已构建镜像内探测真实版本打标签前脚本会以--platform指定的架构临时运行刚构建的selenium/node-chrome:4.35.0-20250909用容器内二进制自身输出版本号tag_and_push_browser_images.sh#L63-L73CHROME_VERSION$(docker run --platform ${PLATFORM} --rm ${NAMESPACE}/node-chrome:${TAG_VERSION} google-chrome --version | awk {print $3}) CHROMEDRIVER_VERSION$(docker run --platform ${PLATFORM} --rm ${NAMESPACE}/node-chrome:${TAG_VERSION} chromedriver --version | awk {print $2})google-chrome --version输出Google Chrome 113.0.5672.126取第 3 列得到113.0.5672.126chromedriver --version输出ChromeDriver 113.0.5672.63 ...取第 2 列得到113.0.5672.63随后 short_version 按.切分取前两段得到113.0作为短版本。版本号来自容器内实际二进制而非外部假设保证了标签与镜像内容严格一致。这一点与 NodeChrome/Dockerfile 中把google-chrome --version探测结果写入/opt/selenium/browsers/chrome/version的机制同源标签、浏览器元数据、运行时探测三者指向同一份事实。阶段二按模板生成标签并执行 retagretag()tag_and_push_browser_images.sh#L31-L51负责实际打标签默认执行docker tag本地别名仅在PUSH_IMAGEtrue时追加docker push若启用PROMOTE_TAGStrue则改为用docker buildx imagetools create在 registry 间直接复制 manifest从而保留多架构索引。标签命名规则解码本次 changelog 的 12 行输出本质是 6 种模板 × 2 个镜像。以完整版本号为例一条标签被-分隔为最多 4 个语义段113.0.5672.126 - chromedriver-113.0.5672.63 - grid-4.35.0-20250909 │ 浏览器版本 │ 浏览器驱动版本 │ Grid 版本-构建日期模板长版本模板短版本语义粒度{Chrome}-chromedriver-{Driver}-grid-{Grid}-{Date}113.0-chromedriver-113.0-grid-4.35.0-20250909浏览器 驱动 Grid 日期信息最全{Chrome}-chromedriver-{Driver}-{Date}113.0-chromedriver-113.0-20250909浏览器 驱动 日期{Chrome}-{Date}113.0-20250909仅浏览器 日期长短版本各对应 3 类共 6 类。脚本把这 6 类定义为基础标签tag_and_push_browser_images.sh#L75-L87并对node-chrome与standalone-chrome各打一遍于是产出 12 条Tagged日志。RELEASE_OLD_VERSION 开关追加 4 个无日期旧式标签当RELEASE_OLD_VERSIONfalse新版本发布时的默认行为时脚本还会额外追加 4 个不带构建日期的标签tag_and_push_browser_images.sh#L88-L99保持与历史版本标签体系兼容{Chrome}-chromedriver-{Driver}{Chrome}{ChromeShort}-chromedriver-{DriverShort}{ChromeShort}本次 changelog 调用传入的是true因此输出中只出现带grid-或日期后缀的标签——这也解释了为何归档里恰好是 12 行而非 20 行。docs 目录下的 Standalone Chrome 文档 以Major.Minor.Patch、Major.Minor等形式列出了同一套约定可交叉印证。实战用固定标签拉起 Chrome 113 测试环境场景一Standalone 独立跑测试不依赖 Hub直接运行一个自带 Grid 的 Chrome 容器。以下命令把固定版本标签替换进官方推荐的运行方式docs/docker-hub/standalone-chrome.mddocker run -d -p 4444:4444 -p 7900:7900 --shm-size2g \ selenium/standalone-chrome:113.0.5672.126-chromedriver-113.0.5672.63-grid-4.35.0-20250909随后把 WebDriver 测试指向http://localhost:4444即可。需要观察容器内浏览器行为时访问http://localhost:7900/?autoconnect1resizescalepasswordsecret的 noVNC 页面。官方文档特别强调凡是包含浏览器的镜像docker run务必带--shm-size2g否则浏览器进程可能因/dev/shm空间不足而崩溃。场景二作为 Node 加入完整 Grid在 docker-compose-v3.yml 中Chrome 节点通过SE_EVENT_BUS_HOST连接到selenium-hub。把image替换为本 changelog 中的固定标签即可实现版本锁定services: chrome: image: selenium/node-chrome:113.0.5672.126-chromedriver-113.0.5672.63-grid-4.35.0-20250909 platform: linux/amd64 shm_size: 2gb depends_on: - selenium-hub environment: - SE_EVENT_BUS_HOSTselenium-hub selenium-hub: image: selenium/hub:4.35.0-20250909 container_name: selenium-hub ports: - 4442:4442 - 4443:4443 - 4444:4444启动命令为docker compose -f docker-compose-v3.yml up -d测试请求统一发往 Hub 的4444端口由 Router/Distributor 把会话调度到 Chrome 节点上。如何挑选标签追求可复现选含grid-的完整标签浏览器 驱动 Grid 日期全锁定例如113.0.5672.126-chromedriver-113.0.5672.63-grid-4.35.0-20250909只关心浏览器版本113.0.5672.126-20250909或113.0-20250909日常开发官方仍推荐latest简化使用但文档明确建议用完整标签固定浏览器与 Grid 版本避免上游升级带来的不确定性。从 Changelog 到版本矩阵归档机制的源码印证这份chrome_113.md并非孤立文件它是整个版本矩阵体系的叶子节点。仓库根目录的 CHANGELOG/README.md 用一张Grid 版本 × 浏览器版本矩阵展示所有可用镜像其中4.35.0行的 Chrome 列就链接到本文件归档路径archived/4.35.0/chrome_113.md。该 README 由 CHANGELOG/generate-matrix-readme.py 自动生成其维护流程包含三个步骤generate-matrix-readme.py#L189-L208归档archive_old_versions()将除最新版外的 Grid 版本目录整体移入archived/generate-matrix-readme.py#L8-L42扫描scan_changelog()用正则([\w-])_(\d)\.md解析每个目录下的chrome_113.md这类文件名得到(grid_version, browser, version)三元组生成按浏览器分组渲染矩阵表最新版本在前、归档版本在后每个 ✓ 指向对应 changelog 文件。整个链路发布脚本打标签 → 变更日志落盘 → 矩阵 README 汇总 → 归档在仓库中闭环Makefile 的 update_browser_versions_matrix 目标即是上述生成流程的自动化入口。注意事项版本组合的测试边界矩阵 README 的官方说明明确两点使用时应作为前提该矩阵旨在用最新 Grid 核心 用户可自由钉住的浏览器版本支撑跨浏览器测试、或因特定浏览器版本的兼容问题而锁版CHANGELOG/README.md#L5并非每种 Grid × 浏览器组合都经过完整测试项目方不保证任意组合完全可用用户需要依据自身测试需求评估并自行决策CHANGELOG/README.md#L9。这也正是固定标签的实用价值所在当某个浏览器版本出现兼容性回归或团队尚未完成升级适配时通过113.0.5672.126-chromedriver-113.0.5672.63-grid-4.35.0-20250909这类精确标签可以在一行命令内把测试环境锁定在已知版本组合上同时继续享受新 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点击查看免费下载相关推荐Selenium Grid 4.48.0 Chrome 113 镜像标签全解析tag_and_push_browser_images.sh 打标签流程与镜像选用实践Selenium Grid 4.48.0 Chrome 113 镜像标签全解析tag_and_push_browser_images.sh 打标签流程与镜像选测试后端云原生容器编排可观测性Selenium Grid 4.48.0 的 Edge 118 镜像发布全解tag_and_push_browser_images.sh 标签体系与版本固定实战Selenium Grid 4.48.0 的 Edge 118 镜像发布全解 tag_and_push_browser_images.sh 标签体系与版本固定测试后端云原生容器编排可观测性docker-selenium 4.31.0 Firefox 113 发布镜像标签全解析tag_and_push_browser_images.sh 的标签体系与实战使用docker selenium 4.31.0 Firefox 113 发布镜像标签全解析tag_and_push_browser_images.sh 的标签体测试后端云原生容器编排可观测性上一篇解决直播断流难题KPlayer-go智能重连机制与错误处理策略下一篇Dillinger 数据库迁移指南零停机 Schema 变更策略与 Serverless 数据库选型实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑