常規跨瀏覽器回歸先用 Playwright 的 WebKit 專案;需要驗證正式 Safari 行為時,再加入 macOS 上的 Safari WebDriver 測試。若驗收依賴 Safari 版本、平台能力或真實瀏覽器流程,WebKit 測試通過不能代替 Safari 實測。

適合負責 Playwright 端對端測試、需要釐清 Safari 相容性邊界的前端工程師。
也適合維護跨瀏覽器 CI、要決定哪些工作需要 Mac 的 QA 與 DevOps 工程師。
若你的團隊開發 Safari 特定功能,本文可協助規劃測試分層與執行環境。

01

一般跨瀏覽器回歸:先用 Playwright WebKit

若測試目標是檢查常見互動流程是否在不同瀏覽器引擎中維持一致,Playwright 的 Chromium、Firefox 與 WebKit 專案適合作為日常回歸層。你可以用同一組測試涵蓋導覽、表單、登入流程、前端狀態更新等共通功能,再依測試結果追查引擎差異。

Playwright 的瀏覽器文件說明,Playwright 使用其管理的瀏覽器建置;WebKit 建置不是品牌版 Safari。測試前應記錄 Playwright 套件版本、瀏覽器建置、執行平台與專案設定,避免只保存「測試通過」而漏掉結果所依據的環境。Playwright 瀏覽器文件也說明了瀏覽器安裝與版本配合方式。

日常回歸的價值在於讓問題提早浮現,而不是宣告覆蓋所有使用者環境。使用不同作業系統執行 WebKit,或在 CI 更新瀏覽器建置後,實際測試條件都可能改變;測試報告應保留執行環境與建置資訊,才有助於比較前後結果。

測試方式 適合驗證的場景 能提供的證據 不應據此推論
Playwright Chromium、Firefox、WebKit 專案 共通互動流程、一般回歸、引擎差異初步篩查 指定 Playwright 與瀏覽器建置下的自動化結果 所有作業系統與正式瀏覽器版本均已通過
macOS 上的 Playwright WebKit 更接近 Safari 的 WebKit 測試環境 macOS 上特定 WebKit 建置的測試結果 已在正式 Safari 完成驗收
macOS Safari WebDriver 正式 Safari 的自動化流程與版本驗收 指定 Safari 執行環境中的測試結果 未實測的其他 Safari 版本或使用者裝置也必然相同
02

Playwright WebKit 與 Safari 測試的邊界

Playwright WebKit 與正式 Safari 使用相關的瀏覽器引擎基礎,但不能將兩者視為同一測試環境。Playwright 說明其 WebKit 建置經過調整,並指出在 macOS 執行 WebKit 可讓測試環境更接近 Safari;這仍不代表測試直接操作了正式 Safari。Playwright 的瀏覽器說明提供了這項邊界與平台差異的背景。

這個差別會影響測試結果的表述方式。你可以說「指定環境的 Playwright WebKit 回歸通過」,但若沒有執行 Safari WebDriver,就不宜將結論寫成「Safari 驗收通過」。同樣地,WebKit 發現問題能提示你檢查 Safari,但不能單憑引擎測試判定正式 Safari 的具體行為。

注意:測試名稱最好包含執行平台與瀏覽器類型。將工作標成「Safari」但實際執行 Playwright WebKit,會讓 CI 報告失去可信的驗收邊界。

03

正式 Safari 驗收:交由 Safari WebDriver

當需求明確寫著「必須在 Safari 通過」,或問題與正式瀏覽器版本、真實使用者流程相關,就應安排 macOS Safari 測試。Apple 將 Safari WebDriver 作為自動化 Safari 的方式,並提供啟用與執行測試的說明;請依照Apple 的 Safari WebDriver 文件與Safari WebDriver 測試指引核對環境設定。

Safari WebDriver 的作用是讓自動化工具驅動 Safari,不代表測試工具能保證涵蓋所有使用者設定、裝置條件或瀏覽器版本。正式驗收應清楚記下 Safari 版本、macOS 執行環境、測試帳號與必要的前置條件,讓失敗案例可以重現。

若團隊原本只有 Linux 或 Windows CI,常見問題不是「能否再加一個 WebKit job」,而是是否真的需要正式 Safari 證據。前者可以留在原有跨平台流水線;後者需要準備 macOS 上的 Safari 執行工作。你可先從KVMNODE 的遠端 Mac 使用方式了解遠端環境選項,再依團隊的維護方式決定是否接入。

04

影片與平台能力:以真實 Safari 結果作結論

涉及影片播放、媒體格式或平台支援能力時,Playwright WebKit 適合用來發現可能的相容性問題,但不能單獨證明正式 Safari 上的播放結果。媒體行為可能同時受瀏覽器版本、平台能力、媒體來源與頁面實作影響;應使用專案實際提供的影片與播放流程,在目標 Safari 環境中確認。

WebKit 發布的Safari 26.0 功能說明可作為檢視 Safari 媒體相關變化的官方技術線索,但它不是你的網站測試報告。你需要把文件中的平台資訊與自己的測試結果分開保存,不能因為規格或功能說明存在,就推定專案影片已正常播放。

建議在測試紀錄中保留媒體檔案或來源、實際執行的瀏覽器與版本、操作步驟、預期結果和觀察結果。若 WebKit 測試失敗,先確認是否為頁面共通問題;若只有正式 Safari 出現差異,就以 Safari 的實測結果作為相容性判斷依據。

05

CI 分層:按驗收證據選擇執行環境

團隊需求 建議的 CI 工作 需要 Mac 的理由 取捨
只需一般跨瀏覽器互動回歸 保留既有跨平台 CI,加入 Playwright WebKit 專案 通常不必只為 WebKit 回歸另設 Safari 工作 不會因此取得正式 Safari 驗收證據
驗收條件要求正式 Safari 增設 macOS Safari WebDriver 工作 目標是自動化正式 Safari 需要安排 Mac 環境與工作維護責任
一般回歸與正式 Safari 均重要 分層執行:共通回歸留在現有 CI,Safari 專項派送至 Mac 讓每個工作對應清楚的測試目的 需維護兩種測試環境與結果標示

優點:WebKit 回歸可沿用既有跨平台 CI;Safari WebDriver 工作則提供正式 Safari 的測試證據。
限制:若沒有 Mac 執行環境,便不能把正式 Safari 自動化結果列入驗收;若團隊沒有 Safari 特定驗收需求,新增 Mac 工作也會增加維護範圍。

你可以先訂出測試的派送條件:只檢查共通互動的工作走既有 CI;驗收要求明確指向正式 Safari、媒體實測或特定版本行為時,才送往 macOS Safari WebDriver。將兩種 job 的名稱、結果與報告分開,避免儀表板把不同測試證據合併呈現。

06

接入 Mac 前的可勾選清單

  • [ ] 列出必須在正式 Safari 驗收的使用者流程,不把全部 WebKit 案例直接複製到 Mac 工作。
  • [ ] 在 Playwright 報告中記錄套件版本、瀏覽器建置、執行平台與專案設定。
  • [ ] 依 Apple 文件設定 Safari WebDriver,並確認 CI 工作實際啟動的是 Safari,而非 Playwright WebKit。
  • [ ] 為 Safari 工作保留可辨識的瀏覽器版本、macOS 環境與測試結果紀錄。
  • [ ] 對影片或平台能力相關案例使用專案真實媒體,在正式 Safari 環境確認播放結果。
  • [ ] 設定失敗案例的重跑與問題回報方式,避免將偶發失敗直接改寫為瀏覽器相容性結論。
  • [ ] 評估誰負責 Mac 工作的排程、憑證與執行環境維護,再決定自建、租用或沿用現有 Mac。

若團隊要比較自有設備與遠端環境,可先查看Mac mini 雲端方案資訊,再按測試觸發頻率、會話需求與維護責任估算是否合適。自購 Mac 需要承擔硬體投入與維護;借用個人 Mac 不一定能穩定提供 CI 執行;Linux 工作則無法取代正式 Safari。若你只在發布前偶爾需要 Safari 驗收,或需要可持續存取的 Mac 測試環境,租用 KVMNODE 的遠端 Mac 可少掉自行購置硬體與維護主機的負擔。若測試長期高負載,或必須直接操作實體介面,則應先比較自有設備與租用環境的限制,再作決定。