自动化测试66 条

浏览器矩阵

浏览器矩阵是在多个浏览器与版本组合上执行用例(Chromium、Firefox、WebKit 或企业内标准浏览器),用项目配置一次声明;并非所有用例都需要全矩阵执行。

软件测试速查开发更新于 2026-10-13

浏览器矩阵是什么

浏览器矩阵是「浏览器内核 × 版本 × 操作系统 × 设备」的兼容性测试组合清单。全覆盖不现实,通行做法是按用户流量与风险分层:主力组合跑每次提交,长尾组合放夜间或发版前。Playwright 的 WebKit 覆盖 Safari 类,Chromium 覆盖 Chrome/Edge,Firefox 走 Gecko 内核。

基本信息

三大内核Chromium(Chrome/Edge)、WebKit(Safari/iOS)、Gecko(Firefox)
移动端真机云或模拟器,覆盖触控、视口、性能差异
分层策略提交门禁跑单内核,每日跑全矩阵,发版前跑验收组合
工具落点Playwright projects、Cypress 浏览器参数、BrowserStack 等云真机
判定口径兼容性缺陷单独分类,不与功能缺陷混在同一门禁
成本云真机按时长计费,矩阵越大费用与时延越高

Playwright 配置示意

Playwright 配置示意
// playwright.config.ts 的 projects 片段
projects: [
  { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
  { name: 'firefox',  use: { ...devices['Desktop Firefox'] } },
  { name: 'webkit',   use: { ...devices['Desktop Safari'] } },
  { name: 'mobile',   use: { ...devices['Pixel 7'] } },
],

典型使用场景

  • 按流量报表定矩阵:先覆盖占绝大多数的主力和企业常驻旧版
  • 分层调度:PR 跑单内核冒烟,夜间跑多内核全量
  • 兼容性缺陷定位:确认是 CSS 特性还是 JS API 差异
  • 移动端验证:视口、触控手势、软键盘行为与桌面不同
  • 发版验收:按发布计划跑验收级组合并留报告
  • 成本控制:长尾浏览器降低频率,用抽样替代全量

内核与浏览器映射

内核覆盖浏览器常见差异点
ChromiumChrome、Edge、Opera 等版本节奏快,内置服务与编解码有差异
WebKitSafari、iOS 全系新 API 支持滞后,滚动与媒体行为不同
GeckoFirefox部分 CSS 与权限行为差异
云真机各品牌安卓、iPhone厂商定制内核与真实性能表现
先看流量报表再定矩阵:为占比极低的组合冻结发布节奏不值得,把资源投到主力与高价值客户在用的版本上。
模拟器不能完全替代真机:手势、性能、支付类场景要在关键机型上补真机验证。
同一内核的不同浏览器也非完全相同:Edge 与 Chrome 在服务集成上有差异,关键功能仍要单独抽查。

易错点

  • 矩阵无限扩张:CI 时长与费用失控,先按流量与风险分层再扩容
  • 兼容性失败与功能失败混在一条门禁:发布判断被噪声拖住,应分类统计
  • 只测最新版浏览器:企业内网的旧版用户成为事故高发人群,按流量覆盖旧版
  • 忽略 WebKit 独有差异:只在 Chromium 上绿,Safari 用户遇到布局与交互缺陷

数据来源与参考

  • Playwright 官方文档:Projects(playwright.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌