症状: PlaywrightのWebKitテストは通るのに、正式Safariでの確認が足りているか判断できません。
最短の解決策: 通常の回帰にはPlaywright WebKitを使い、正式Safariの挙動を保証する必要がある箇所にはmacOS上のSafari WebDriverテストを追加します。

この記事は、PlaywrightでE2Eテストを運用するフロントエンドエンジニア向けです。
クロスブラウザーCIを管理するQA・DevOps担当者や、Safari固有機能を開発するチームにも役立ちます。

01

テストシナリオごとに実行先を分ける

PlaywrightのWebKitと正式Safariは、同じテスト対象として扱えません。WebKitは幅広い回帰を効率よく見るために使い、Safariでしか確かめられない挙動はSafari上で確認します。どちらを採用するかは、必要なテスト証拠から決めてください。

Playwrightのブラウザー documentation が扱う主なブラウザーエンジンはChromium、Firefox、WebKitの3種類です。プロジェクトを複数定義すれば、同じテストを各エンジンで実行できます。ただし、テストが通ったことは、すべてのOSやブラウザーバージョンでの動作を確認したことにはなりません。Playwrightのブラウザーとプロジェクトの説明も参照し、実行環境を記録しましょう。

テストシナリオ 適した実行先 得られる証拠 注意点
ボタン、フォーム、画面遷移などの一般的な回帰 既存CIのPlaywright WebKit WebKit上での操作と画面状態 正式Safariの判定にはならない
Safari特有の挙動や対象バージョンの受け入れ確認 macOS上のSafari WebDriver 対象Safariでの自動テスト結果 Mac環境とSafariの管理が必要
WebKitでの検出後にSafariで再現する不具合 WebKitとSafariの両方 差が生じる条件の比較 実行環境と再現手順を個別に残す

PlaywrightのWebKitは、ブランド版Safariそのものを起動する仕組みではありません。Playwrightのドキュメントでは、同プロジェクトで使うWebKitビルドとSafariを区別し、macOS上でのWebKit実行はSafariに近いテスト環境になる一方、Safariそのもののテストとは異なることを説明しています。

実行環境 得意な確認 判定に使える範囲
Chromium・Firefox・WebKitのPlaywrightプロジェクト 共通UIや主要操作の回帰 各エンジン上のテスト結果
macOS上のPlaywright WebKit macOSでのWebKit挙動の確認 Safariに近い条件での手掛かり
macOS上の正式Safari Safari固有の機能・挙動・バージョン確認 実際に使ったSafari環境の結果

「WebKitで通ったからSafariでも問題ない」と結論づけるのは避けてください。どのOS、ブラウザーのビルド、Playwrightのバージョンで実行したかをテスト結果に添えれば、失敗の再現性や環境差を後から調べやすくなります。

02

通常のクロスブラウザー回帰にはWebKitを使う

フォーム入力、メニュー操作、ルーティング、基本的なレイアウト確認など、エンジンをまたぐ一般的なユーザー操作は、既存のPlaywrightプロジェクトで回帰させるのが現実的です。CIにWebKitプロジェクトを追加すれば、Safari利用者にも関係する共通部分の不具合を早めに検出できます。

この運用の利点は、すでにあるテストの流れへWebKitを組み込みやすいことです。一方、実行結果が正式Safariの証明にはならないこと、WebKitのビルドや実行プラットフォームが異なれば結果にも差が出ることは、テスト方針に明記してください。

運用上の確認項目 記録する内容 記録しない場合の問題
ブラウザー Chromium、Firefox、WebKitなどの対象 どのエンジンで通ったか不明になる
実行プラットフォーム OSとCI実行環境 ローカルとCIの差を特定しにくい
ツールの版 Playwrightとブラウザーのビルド情報 更新前後の失敗を比較しにくい
テスト範囲 対象画面、操作、除外条件 通過結果を過大に解釈しやすい

実務では、PRごとにクロスブラウザーの共通回帰を実行し、Safari固有の確認は必要な変更やリリース判定に結び付ける方法があります。Playwrightの失敗調査では、Trace Viewerの公式説明を参考にトレースを確認できます。ただし、そのトレースはPlaywrightの実行証拠であり、正式Safariでの実行結果の代わりにはなりません。

03

正式Safariが必要なシナリオを見極める

正式Safariでの確認が必要なのは、Safariの挙動そのものが受け入れ条件になっている場合です。たとえば、Safari固有機能を使う画面、対象のSafariバージョンで報告された不具合、Safari利用者の実操作を再現するテストが該当します。

Safari WebDriverは、macOS上でSafariを自動化するための選択肢です。Appleの説明に沿ってリモート自動化を有効にし、safaridriverを使ってテストを実行します。ドライバーが利用できることだけを根拠に、Playwrightのテスト資産がそのまま動く、あるいは特定機能が保証されるとは判断しないでください。AppleのSafari WebDriver資料と有効化・実行手順を確認し、チームのテスト基盤に合わせて実装します。

Safariを正式に確認する利点と負担

  • 利点: Safari本体での操作結果を、受け入れテストの証拠として残せます。
  • 利点: Safariの特定バージョンで起きる問題を、対象環境で再現できます。
  • 負担: macOS実行環境の準備、更新、アクセス管理を担当する必要があります。
  • 負担: WebKitだけのジョブよりテスト範囲が増え、結果の保管・調査方法も整える必要があります。

CIを選ぶときは、実行頻度だけでなく、誰がMacを管理するか、Safariテストが失敗したとき誰が再現するかも決めましょう。Macの保守担当が不明なままジョブだけ増やすと、Safariの更新後に不安定なテストが放置されやすくなります。

04

媒体再生やプラットフォーム機能はSafariで確かめる

動画や音声の再生、対応形式、ブラウザーやOSに関わる機能は、WebKitでの確認だけでは実際のSafari利用時の結果を確定できません。WebKitのテストで問題の兆候を見つけたら、対象のSafariと実際のメディア素材でも再生・操作を試し、どの条件で結果が変わるかを記録します。

WebKitはSafariの基盤となる技術ですが、WebKit上での動作をSafariの実機能と同一視しないことが重要です。たとえば、WebKitが公開するSafari 26.0の機能に関する記録は、特定バージョンに紐づいた情報として読めます。プロジェクトの結論には、実際に使ったSafariのバージョン、OS、メディア形式、再生結果を添えてください。

確認内容 Playwright WebKitで見ること 正式Safariで追加確認すること
再生開始や停止などの基本操作 操作に応じたアプリ側の状態変化 対象Safariでの実際の再生と操作
メディア形式に関わる処理 WebKit上でのエラーや状態遷移 実際の素材を使った再生結果
ブラウザー機能への依存 WebKit上の機能検出やフォールバック 対象バージョンでの機能と代替表示

WebKitテストで失敗した場合は、Safariでも同じ問題が起きると断定せず、まず条件を切り分けます。逆にWebKitで通過した場合も、正式Safariでの受け入れが必要な機能ならSafariで確認を続けます。この二つの証拠を分けて保存することが、互換性の判断を誤らないための要点です。

05

Safariの確認をCIのどこへ置くか

Safariの検証を含むCIは、すべてをMacへ集約するより、テスト目的で階層化するほうが管理しやすくなります。通常のWebKit回帰は現在のクロスプラットフォームCIに残し、Safari固有の合否判定だけをmacOSのSafari WebDriverジョブへ割り当てます。

チームの要件 推奨する構成 選定時に確認すること
一般的なWeb回帰が中心 既存CIでPlaywright WebKitを実行 テスト対象と実行環境の記録
正式Safariの結果がリリース条件 macOS Safari WebDriverジョブを追加 Macの管理者、アクセス、結果保管
共通回帰とSafari受け入れの両方が必要 WebKitとSafariを分けた段階的なパイプライン どの変更でSafariジョブを必須にするか

MacをCIへ加える前に、次の項目を確認してください。

  • [ ] Safariで確認が必要なテストと、WebKit回帰で足りるテストを分ける。
  • [ ] CIログにOS、Safari、Playwright、WebKitの実行情報を残す。
  • [ ] Safari WebDriverの有効化と実行手順を担当者が再現できるようにする。
  • [ ] Safariジョブの失敗時に、再現・修正・結果保管を行う担当を決める。
  • [ ] Macの常時利用が必要か、特定のリリース確認だけで足りるかを見直す。

注意:WebKitの成功はWebKit上の成功として記録し、正式Safariの受け入れ結果と同じ欄へまとめないでください。異なるテスト証拠を一つの合否にすると、Safariで未確認の範囲が見えなくなります。

06

よくある疑問

PlaywrightのWebKitテストはSafariテストと同じですか?

同じではありません。PlaywrightのWebKitプロジェクトはWebKitを使いますが、ブランド版Safariを直接操作するものではありません。一般的な回帰には有効ですが、正式Safariでの挙動を保証したい場合は、対象のmacOSとSafariを用意して別のテスト結果を残してください。

Playwrightから正式版Safariを直接起動できますか?

PlaywrightのWebKitプロジェクトをSafari本体の起動手段として扱うことはできません。Safariを自動化するには、macOSでSafari WebDriverを利用する構成を検討します。Playwrightで書いたテストをSafari WebDriverでどう扱うかは、実装方式と既存のテスト基盤を確認して決めてください。

Safari WebDriverのテストにmacOSは必要ですか?

Safari WebDriverでSafariを自動化するテストは、macOS上のSafariを実行対象にします。Appleの案内に従ってリモート自動化を有効にし、safaridriverを利用できる環境を整えてください。Macの準備や保守をチームで担えない場合は、ジョブ追加の前に運用責任も決める必要があります。

どんな互換性問題を正式Safariで確かめるべきですか?

Safari固有機能、特定バージョンで報告された不具合、Safari利用者の操作、媒体の再生結果など、正式Safariが判定対象になる問題です。WebKitでの結果は原因を絞る手掛かりにはなりますが、Safariの合否そのものではありません。実際の素材と対象環境を使って再現し、結果を記録してください。

Safari固有の確認が必要ないチームなら、既存CIのPlaywright WebKitを維持し、実行環境の記録を整えるところから始められます。正式Safariの自動化や継続的な再現環境が必要なら、Macの運用担当、利用頻度、アクセス方法を先に整理してください。自前のMacは常時使う環境を管理しやすい一方、調達と保守が必要です。LinuxのCIだけでは正式Safariを動かせず、都度の手作業確認では再現性や記録が不足しがちです。必要な期間だけMac環境を使いたい場合は、KVMNODEのリモートMac案内を確認し、チームのテスト要件に合うか検討できます。継続的な自社保有との違いは、Mac miniの導入案内も判断材料になります。