Cross-browser Testing 策略 — 哪些瀏覽器要測 / 雲端 device farm / CI 整合
Cross-browser 測試完整策略。Browser matrix 怎麼決定、Playwright 跨瀏覽器、BrowserStack / Sauce Labs 比較、何時用真機、何時用 emulator、CI 整合。
💡 本文原刊於 qa.9niche.com,2026-08 併入 9niche.com 懶人包,內容照原文完整搬遷。
目錄
1. 前言
「Chrome 沒事、Safari 爆炸」是 web QA 常態。但 全瀏覽器全測 = 永遠跑不完 + 預算爆。這篇給你務實的 cross-browser 策略。
2. Browser Matrix — 別瞎測
2026 推薦 Matrix(多數 SaaS)
| 平台 | 瀏覽器 | 優先 |
|---|---|---|
| Desktop | Chrome latest | P0 |
| Desktop | Safari latest | P0 |
| Desktop | Edge latest | P1 |
| Desktop | Firefox latest | P2 |
| Mobile | iOS Safari 17 | P0 |
| Mobile | iOS Safari 16 | P1 |
| Mobile | Android Chrome | P0 |
多數團隊測 P0 + P1 就夠。
3. 跨瀏覽器哪些東西常爆
4. Playwright 跨瀏覽器設定
// playwright.config.ts
export default defineConfig({
projects: [
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
{ name: 'webkit', use: { ...devices['Desktop Safari'] } },
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
{ name: 'mobile-ios', use: { ...devices['iPhone 13'] } },
{ name: 'mobile-android', use: { ...devices['Pixel 7'] } },
],
});
跑:
# 單瀏覽器
npx playwright test --project=chromium
# 全部
npx playwright test
# matrix(GitHub Actions)
npx playwright test --project=$PROJECT_NAME
5. CI 整合 — 分層策略
# .github/workflows/e2e.yml
name: E2E
on:
pull_request:
schedule:
- cron: '0 2 * * *' # nightly 2am
jobs:
pr-chromium:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx playwright install chromium --with-deps
- run: npx playwright test --project=chromium
nightly-all:
if: github.event_name == 'schedule'
strategy:
matrix:
project: [chromium, webkit, firefox, mobile-ios, mobile-android]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx playwright install --with-deps
- run: npx playwright test --project=${{ matrix.project }}
6. 雲端 Device Farm 比較
| 服務 | 起跳價 | 強項 | 弱項 |
|---|---|---|---|
| BrowserStack | $39/月 | UI 好、設備多、響應快 | 貴 |
| Sauce Labs | 企業 | 大規模便宜 | UI 老派 |
| LambdaTest | $19/月 | 便宜替代 | 較不穩 |
| AWS Device Farm | 按需 | AWS 整合 | UX 差 |
| Firebase Test Lab | 免費起跳 | Android 神器 | iOS 少 |
| TestingBot | $39/月 | 歐洲 GDPR 友善 | 設備少 |
BrowserStack 設置範例
import { chromium } from 'playwright';
const capabilities = {
browser: 'Safari',
os: 'OS X',
os_version: 'Sonoma',
name: 'My Test',
build: 'Playwright build',
'browserstack.username': process.env.BS_USER,
'browserstack.accessKey': process.env.BS_KEY,
};
const browser = await chromium.connect({
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify(capabilities))}`,
});
7. 真機 vs Emulator/Simulator
80% E2E 跑 emulator 即可、release 前跑真機 device farm。
8. 跨平台視覺差異處理
// 各瀏覽器獨立 baseline
test('homepage', async ({ page }) => {
await page.goto('/');
await expect(page).toHaveScreenshot();
// Playwright 自動產 homepage-chromium.png / homepage-webkit.png / homepage-firefox.png
});
或用 Applitools AI 比對忽略跨瀏覽器小差異。
9. 反模式
10. 給 QA 的 5 句
- 看 GA 決定 matrix、不要拍腦袋
- 分 Tier 跑(PR / Nightly / Release)
- Emulator 80% + 真機 20%
- Safari 是踩雷率最高的、必測
- 2026 後不該再測 IE11
11. 最後
Cross-browser 不是「全部測」、是「對的時機測對的瀏覽器」。用數據驅動 matrix、分 Tier 控制 CI 時間、真機保留給 release — 每月省 5+ 小時 CI 時間、release 體驗反而更好。
延伸:
相關連結
Playwright 安裝、第一個測試、Selectors 選擇策略、debug 技巧、CI 整合。給有測試經驗但沒寫過自動化的 QA。
Visual regression 測試完整指南。Pixel diff vs DOM diff、Playwright snapshot 免費版、Percy / Applitools / Chromatic 比較、AI 視覺比對、跨平台一致性、CI 整合。
Mobile QA 完整入門。原生 / 跨平台 / hybrid 三種 app 差異、Appium vs Detox 取捨、跟 Web testing 不同的坑、雲端 device farm 選擇。
相關懶人包
2026 QA 趨勢實戰:我看到的 5 個轉變(AI、Shift-Left、Observability)
從手動 QA 到 AI 輔助、從測試金字塔到測試獎盃。這篇分享我這 10+ 年看 QA 從「測完才知道」到「shift-left + AI」的真實觀察。
2026 QA 面試的 AI 題 — 12 題 + 答題框架(面試官想聽什麼)
2026 QA 面試新增一整類「你怎麼用 AI」的問題。這篇整理 12 個高頻 AI 面試題、每題附面試官真正想聽的點與答題框架,從「你用過哪些 AI 工具」到「AI 生的 test 怎麼信任」。
AI / LLM 功能 Spec Review — 幻覺 / 評估 / 成本 / 法遵 8 個必問
AI 功能 spec review 完整指南。LLM 不確定性處理、評估指標、Prompt versioning、成本控制、安全護欄、法遵(EU AI Act / GDPR)、Fallback、人工 review 流程。
一般聲明
本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。