ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

docker-selenium 镜像版本解析:Selenium Grid 4.32.0 与 Chrome 134.0.6998.165 的标签体系与发布流程

docker-selenium 镜像版本解析:Selenium Grid 4.32.0 与 Chrome 134.0.6998.165 的标签体系与发布流程 测试后端云原生容器编排可观测性【免费下载链接】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 仓库的变更记录完整解读 Selenium Grid 4.32.0 发布中 Chrome 134 浏览器镜像的版本组合、镜像标签命名规范以及背后tag_and_push_browser_images.sh脚本的自动化发布机制。读者可以借此掌握如何读懂并选用selenium/node-chrome与selenium/standalone-chrome镜像的各类标签理解浏览器版本 ChromeDriver 版本 Grid 版本 构建日期四段式标签的含义并学会在 Docker Compose 与测试代码中精确定位指定版本的镜像。版本组合Grid 4.32.0 与 Chrome 134 的精确映射本次发布记录见 CHANGELOG/archived/4.32.0/chrome_134.md揭示了该版本组合的核心事实Chrome 与 ChromeDriver 的版本号完全一致均为134.0.6998.165即浏览器与驱动保持严格同步的版本策略。这也正是 docker-selenium 项目打包最新 Selenium Grid 核心版本同时让用户能够按需锁定浏览器版本这一设计目标的直接体现详见 CHANGELOG/README.md 中的矩阵说明。组件版本Selenium Grid 版本含构建日期4.32.0-20250515Chrome 完整版本134.0.6998.165Chrome 短版本134.0ChromeDriver 完整版本134.0.6998.165ChromeDriver 短版本134.0发布命令./tag_and_push_browser_images.sh 4.32.0 20250515 selenium false chrome true其中20250515为构建日期2025 年 5 月 15 日它被拼接到 Grid 版本之后形成唯一标识4.32.0-20250515。在 Makefile 中可以看到该约定的定义TAG_VERSION : $(VERSION)-$(BUILD_DATE)所有组件镜像都以$(TAG_VERSION)作为构建期标签。发布命令逐参数解读变更记录中的命令是理解整个发布流程的钥匙./tag_and_push_browser_images.sh 4.32.0 20250515 selenium false chrome true对照 tag_and_push_browser_images.sh 顶部的参数定义第 39 行七个位置参数的含义如下参数值含义$14.32.0Selenium Grid 版本号$220250515构建日期Ymd 格式$3selenium镜像命名空间Docker Hub 组织名$4falsePUSH_IMAGE是否在打标签后推送到远程仓库$5chrome浏览器类型可选chrome/chromium/edge/firefox/chrome-for-testing$6trueRELEASE_OLD_VERSION是否为旧版本补发无构建日期的裸版本标签$7缺省linux/amd64PLATFORM探测浏览器版本时使用的目标平台脚本第一步会启动基础镜像并读取容器内实际安装的浏览器与驱动版本第 65、70 行CHROME_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})也就是说镜像标签中的 Chrome 版本不是写死在脚本里的而是从已构建的镜像内部探测得到的真实版本号这保证了标签与实际二进制永远一致。随后short_version函数第 5357 行将134.0.6998.165截取为134.0function short_version() { local __long_version$1 local __version_split(${__long_version//./ }) echo ${__version_split[0]}.${__version_split[1]} }四段式标签体系20 个标签的完整清单与语义变更记录列出了node-chrome与standalone-chrome两个镜像各 10 个标签共 20 个。这些标签由完整版本 / 短版本 × 是否含 Grid 版本 / 是否含构建日期组合而成每一段都有明确的语义134.0.6998.165浏览器Chrome完整版本134.0浏览器短版本主版本.次版本便于批量升级或粗粒度锁定chromedriver-134.0.6998.165/chromedriver-134.0ChromeDriver 版本grid-4.32.0-20250515Selenium Grid 完整版本20250515构建日期。序号selenium/node-chrome:tag与selenium/standalone-chrome:tag语义侧重1134.0.6998.165-chromedriver-134.0.6998.165-grid-4.32.0-20250515全版本 Grid 版本最精确的三合一锁定2134.0.6998.165-chromedriver-134.0.6998.165-20250515浏览器 驱动完整版本 构建日期3134.0.6998.165-20250515浏览器完整版本 构建日期4134.0-chromedriver-134.0-grid-4.32.0-20250515短版本 Grid 版本5134.0-chromedriver-134.0-20250515短版本 构建日期6134.0-20250515浏览器短版本 构建日期7134.0.6998.165-chromedriver-134.0.6998.165全版本 驱动版本裸版本可滚动更新8134.0.6998.165仅浏览器完整版本9134.0-chromedriver-134.0短版本 驱动短版本10134.0仅浏览器短版本对照 tag_and_push_browser_images.sh 第 7599 行的CHROME_TAGS数组可以确认前 6 类标签含构建日期或 Grid 版本总是生成而第 710 类裸版本标签仅在RELEASE_OLD_VERSIONfalse时才追加生成。本次发布命令中第 6 个参数为true意味着这是为已经归档的旧版本 4.32.0 补发带日期与 Grid 信息的完整标签不覆盖裸版本标签的既有指向。每次打标签都由retag函数第 3151 行完成常规路径执行docker tag若PUSH_IMAGEtrue则追加docker push而发布流程中另一种PROMOTE_TAGStrue的路径则使用docker buildx imagetools create实现registry 到 registry的索引级复制以保留多架构清单的完整性。从源码看镜像的构建链路这批标签所指向的镜像本身由 Makefile 的构建目标逐层产出chrome目标chrome: node_base chrome_only在./NodeChrome目录构建node-chrome:$(TAG_VERSION)standalone_chrome目标standalone_chrome: chrome standalone_chrome_only在./Standalone目录以--build-arg BASEnode-chrome为基础叠加 Selenium Server产出standalone-chrome:$(TAG_VERSION)tag_and_push_chrome_images目标Makefile 第 783784 行把$(VERSION) $(BUILD_DATE) $(NAMESPACE) $(PUSH_IMAGE)透传给脚本与变更记录中的命令完全对应。在 NodeChrome/Dockerfile 中可以看到浏览器组件的落地细节ARG CHROME_VERSIONgoogle-chrome-stable第 18 行默认安装 Chrome 稳定版也可通过构建参数切换google-chrome-beta/google-chrome-unstableinstall-chrome.sh负责安装浏览器install-chromedriver.sh负责安装 ChromeDriver构建期会把实际版本写入/opt/selenium/browsers/chrome/version第 6571 行google-chrome --version | awk {print $3}的解析方式与发布脚本完全一致同时写入binary_location配置第 72 行供 Selenium Grid 注册浏览器能力时使用。此外NodeChrome/Dockerfile 还设置了SE_NODE_ENABLE_MANAGED_DOWNLOADStrue允许 Grid 按需管理浏览器与驱动组件的自动同步。实战如何选用与验证 Chrome 134 镜像方式一直接拉取并验证版本node-chrome适用于以 Node 形式加入 Selenium Grid 的分布式部署standalone-chrome则在一个容器内同时运行 Grid 服务与浏览器适合独立测试环境。拉取后可以复现发布脚本的探测逻辑来校验版本# 拉取精确版本组合的镜像 docker pull selenium/standalone-chrome:134.0.6998.165-chromedriver-134.0.6998.165-grid-4.32.0-20250515 # 验证浏览器版本注意 awk 取第 3 段字段与脚本一致 docker run --rm selenium/node-chrome:134.0-20250515 google-chrome --version # 验证 ChromeDriver 版本 docker run --rm selenium/node-chrome:134.0-20250515 chromedriver --version方式二通过 Docker Compose 引用仓库根目录的 docker-compose-v3.yml 展示了 compose 文件中引用带构建日期标签的标准写法services: chrome: image: selenium/node-chrome:4.32.0-20250515 shm_size: 2gb depends_on: - selenium-hub environment: - SE_EVENT_BUS_PUBLISH_PORT4442 - SE_EVENT_BUS_SUBSCRIBE_PORT4443若希望在分布式 Grid 中固定到 Chrome 134可将上述标签替换为变更记录中任一134.0前缀的完整标签例如selenium/node-chrome:134.0-20250515即可实现Grid 版本可升级、浏览器版本稳定不变的隔离策略。方式三按版本矩阵查找可用组合Selenium Grid × 浏览器版本矩阵 以Grid 版本 × 浏览器版本二维表的形式列出所有已发布的组合每个✓链接到对应版本的详细变更记录。需要留意矩阵中的说明项目并不保证每种 Grid 与浏览器组合都经过完整测试用户应根据自身测试需求评估选用。归档与追溯为什么 4.32.0 的 Chrome 134 位于 archived 目录本变更记录位于CHANGELOG/archived/4.32.0/说明 4.32.0 属于已归档的 Grid 版本线。归档目录保留了该版本全量浏览器组合的发布痕迹如同目录的 chrome_133.md 记录了 Chrome 133 的对应发布而当前 Grid 版本线则位于CHANGELOG/4.48.0/如 CHANGELOG/4.48.0/chrome_134.md其标签结构与本文所述完全一致。这种当前版本 归档版本的双层组织既保证了新版本的持续发布又让历史版本的可复现性不被破坏——用户在任何时候都能通过归档记录找到当年测试通过的那一个精确镜像标签。小结通过这份变更记录可以完整还原 docker-selenium 项目的一次浏览器镜像发布脚本从已构建镜像中探测真实版本、生成短版本、按四段式规则组合出 20 个标签再逐一打标可选推送。134.0.6998.165与 Grid4.32.0-20250515的精确绑定为跨浏览器测试和锁定特定浏览器版本两类典型场景提供了可复现、可追溯的镜像定位手段。当你需要在自动化测试中固定 Chrome 版本时优先从 版本矩阵 或对应归档变更记录中查找精确标签即可避免因浏览器滚动升级带来的不确定性。赞分享测试后端云原生容器编排可观测性【免费下载链接】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点击查看免费下载相关推荐从 CHANGELOG 到源码ohif/ui-next 组件库演进全解析与定制实践从 CHANGELOG 到源码ohif/ui next 组件库演进全解析与定制实践 导读 ohif/ui next 是 OHIF Viewer 新一代 U测试后端云原生容器编排可观测性基于 AWS Rekognition 与 S3 Intelligent-Tiering 的照片资产管理应用PAM架构解析基于 AWS Rekognition 与 S3 Intelligent Tiering 的照片资产管理应用PAM架构解析 导读 Photo Asset Ma测试后端云原生容器编排可观测性docker-selenium 镜像标签体系全解以 Chrome 114 与 Selenium Grid 4.31.0 发布为例docker selenium 镜像标签体系全解以 Chrome 114 与 Selenium Grid 4.31.0 发布为例 本篇技术指南围绕 docke测试后端云原生容器编排可观测性上一篇Micro-App性能优化终极指南让你的微前端应用快如闪电 下一篇163MusicLyrics构建跨平台歌词获取系统的技术架构与实现解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表