症狀:你用 Windows 寫完網頁,想知道 Safari 能不能正常使用。 最快解法:先用 Playwright 的 WebKit 做自動化初篩;若課程或專案要求真實 Safari 結果,再到 macOS 上複核。WebKit 測試不是 Safari 實測。

這篇適合正在用 Windows 或學校電腦製作前端課程專案、想增加瀏覽器自動檢查的學生。 如果你已經看見 Safari 樣式或互動有差異,也可以用下面的流程判斷該先查測試,還是改做真實瀏覽器驗收。

先確認要交付哪一種結果

開始測試前,先把作業要求拆成三種不同的驗收目標:

  • 頁面能否開啟:確認本機專案啟動後,測試工具能載入指定頁面。
  • 重要互動是否正常:例如按鈕能否切換內容、表單送出後是否出現預期提示。自動化測試會像自動批改一樣,依照你寫好的步驟和答案檢查結果。
  • 真實 Safari 是否符合要求:如果老師要求 Safari 畫面、操作紀錄或實機結果,Playwright 的測試報告不能代替 Safari 驗收。
Playwright 官方支援 Chromium、WebKit 與 Firefox 等瀏覽器引擎;但官方也說明,Playwright 使用的 WebKit 並不是品牌版 Safari。你可以先在 Windows 上跑 WebKit 測試,再依交付要求決定是否安排 macOS Safari 複核。[Playwright 官方瀏覽器說明](https://playwright.dev/docs/browsers)

Playwright 測試 Safari 的範圍

把 WebKit 想成一個有用的檢查工具,而不是 Safari 的另一個名稱。它能協助你找出部分跨引擎問題,例如頁面載入失敗、按鈕操作無效,或預期文字沒有出現;但測試通過,只能表示目前這組自動化步驟在目前環境下沒有報錯。

下面是開始前最重要的界線:

<
你要確認的事Playwright WebKit 初篩macOS 上的 Safari 複核
頁面是否能載入適合用自動化步驟檢查可在真實 Safari 再確認
按鈕、表單等基本操作可寫測試步驟和斷言檢查可觀察實際操作與畫面
Safari 字型、排版或媒體播放表現可協助定位部分疑點,不是最終證明適合依課程要求實際驗收
交付 Safari 操作紀錄或截圖不能當成 Safari 實測紀錄應使用 Safari 操作並保留紀錄
如果你的目的只是先找出明顯的頁面與互動問題,WebKit 是合理的起點;若要求是「已在 Safari 驗證」,就需要 Safari 本身的操作證據。這個區別也能避免你把工具執行成功,誤當成作業已完成瀏覽器驗收。

Windows 專案的初篩流程

Playwright 官方提供安裝、執行測試和測試專案設定說明。指令會因專案選擇的程式語言與設定略有不同,實際做法應以官方文件和專案產生的設定為準。安裝說明

  1. 確認專案可以啟動。先照課程提供的方式啟動網頁,並用瀏覽器打開本機網址。若本機頁面都無法載入,先處理專案啟動錯誤,不要急著把問題歸因於 WebKit。
  2. 安裝 Playwright 與所需瀏覽器。依官方安裝流程在專案中設定 Playwright,並安裝測試要用的瀏覽器。Windows 能執行 Playwright 的 WebKit 測試,但執行結果仍不等於 Windows 上有 Safari 可供驗收。官方安裝與平台說明
  3. 確認測試專案名稱。開啟 Playwright 設定檔,查看 projects 是否有名稱為 webkit 的項目。Playwright 以測試專案選擇要執行的瀏覽器設定;如果名稱不同,執行指令也要跟著改。測試專案設定指南
  4. 加入最小測試。先讓測試開啟你專案中的一個頁面,再檢查一個主要標題或核心按鈕是否存在。不要一開始就把所有頁面、動畫和外部服務都塞進同一支測試。
  5. 只執行 WebKit 專案。若設定中的專案名稱是 webkit,可以執行 npx playwright test --project=webkit。這個選項會依設定選擇該測試專案,而不是替你判定 Safari 是否通過。執行測試的官方說明
  6. 查看失敗細節並保存結果。記下失敗的測試名稱、頁面網址、錯誤訊息和重現步驟。若有 Trace Viewer 記錄,沿著測試操作檢查當時的頁面狀態;它可協助你追蹤 Playwright 測試,但不會把測試變成 Safari 實測。Trace Viewer 說明
寫測試時,優先用使用者看得到的文字或角色尋找按鈕,而不是依賴容易改動的版面細節。官方定位器指南說明了不同定位方式;斷言則是用來明確檢查「答案是否符合預期」,例如預期文字是否出現在頁面上。[定位器指南](https://playwright.dev/docs/locators) [斷言說明](https://playwright.dev/docs/test-assertions)

依失敗型態選擇下一步

<
測試觀察優先檢查下一個動作
頁面沒有開啟專案是否已啟動、網址是否正確先修正啟動或路徑問題,再重跑
找不到按鈕或文字定位器是否對應目前頁面內容檢查元素是否載入、文字是否有改動
點擊後結果不符預期操作是否成功、斷言是否檢查正確內容查看錯誤與操作記錄,必要時調整等待條件
WebKit 與 Chromium 結果不同同一專案、同一操作和實際錯誤訊息重跑失敗案例,再逐項對照
WebKit 通過,但仍被要求驗收 Safari作業要求與實際交付物在 macOS Safari 操作並單獨留存紀錄
Playwright 會依元素是否可操作等條件處理操作等待,因此「點擊失敗」未必代表 Safari 有問題。先確認定位器是否找到正確元素、頁面是否已載入,再閱讀錯誤紀錄;工具沒有完成預期操作時,不要只憑一張失敗報告下結論。[操作與自動等待說明](https://playwright.dev/docs/actionability)

需要比較瀏覽器結果時,保持專案、頁面和測試步驟一致,只改變執行的測試專案。先重現一次失敗,再看錯誤是找不到元素、頁面沒有開啟,還是檢查答案不符。這樣可以把程式本身、測試腳本與瀏覽器差異分開調查,而不是把所有問題都算成 Safari 相容性。

課程驗收的分流條件

依照要交的成果,直接選擇下一步:

  • 若作業只要求自動化檢查頁面和基本互動,就先用 WebKit 跑測試,保存測試結果和錯誤紀錄。
  • 若作業要求「Safari 測試」但沒有指定真實瀏覽器證據,先向老師確認 WebKit 自動化是否符合要求;未確認前,不要把兩者寫成同一件事。
  • 若作業要求 Safari 截圖、Safari 操作紀錄,或你正在追查字型呈現、版面差異與媒體播放,就在 macOS Safari 實際操作,記下頁面、操作和觀察結果。
  • 若手邊沒有 Mac,先完成 Windows 上的 WebKit 初篩,再尋找符合課程規定的真實 Mac 驗收環境;未做 Safari 複核前,將交付標示為 WebKit 測試,而不是 Safari 實測。
如果需要了解 MACGPU 的遠端 Mac 使用方式,可以先查看[MACGPU 的服務資訊](https://macgpu.com/zh-Hant/index.html)。遠端環境能讓你進入 macOS 做 Safari 複核,但仍要先確認課程是否接受遠端環境,以及你能否保存規定的操作證據。

FAQ:WebKit 初篩與 Safari 複核

WebKit 測試通過,是否代表 Safari 一定正常?

不代表。通過表示目前設定的自動化測試沒有發現它所檢查的問題,不代表所有版面、字型、媒體功能或平台行為都已驗證。若課程要求 Safari 實測,仍需用 Safari 操作並記錄結果。

Windows 上的測試結果可以交作業嗎?

要看作業要求。若要求的是使用 Playwright 做 WebKit 自動化初篩,Windows 測試可以提供相關紀錄;若要求真實 Safari 截圖或操作結果,Windows 上的 WebKit 報告不能取代 Safari 證據。交作業前先確認老師採用哪一種驗收定義。

只跑 WebKit 時,專案沒有該名稱怎麼辦?

先查看 Playwright 設定檔內的測試專案名稱。--project 後方要使用設定中的名稱;若尚未建立 WebKit 專案,先依官方測試專案文件設定,再執行測試。不要只複製指令就把「沒有符合專案」誤判成網頁相容性錯誤。

沒有 Mac,如何完成真實 Safari 驗收?

先完成可在 Windows 執行的自動化初篩,再確認課程允許使用的 Mac 環境與交付證據要求。你可以詢問學校是否有合規的 Mac 可用,或評估遠端 macOS 是否符合課程規則;若使用遠端環境,仍需實際開啟 Safari 並保存操作和觀察結果。

Windows 和學校電腦適合先寫程式、跑自動化初篩,但它們無法直接提供真實 Safari 的驗收證據;而 WebKit 通過報告、學校電腦的安裝權限限制,也都可能讓最後的交付多出一道確認工作。若你只在課程驗收階段需要 macOS,購買 Mac 未必是必要選擇;可以先比較MACGPU 的 Mac 使用方案,確認遠端環境符合課程要求後,再用它完成 Safari 複核。若課程要求本機裝置或特定實體連接,就應依課程規定選擇其他合規環境。