【プレイライト】

Playwright とは?

最終更新:
💡 1つの台本で、3つのブラウザに同じ操作を演じさせる演出家

Microsoft製のWebアプリ向けE2Eテスト・ブラウザ自動化のフレームワーク。Chromium・Firefox・WebKitの3つのブラウザエンジンを同じAPIで操作できる。

📌 このページのポイント
Playwrightのマルチブラウザテスト テストコード test('ログイン', async ...) Playwright API Chromium Chrome・Edge系 Firefox Playwright用ビルド WebKit Safari本体ではない ✓ Pass ✓ Pass ✓ Pass 同じテストコードを3つのブラウザエンジンで実行(設定で並列実行も可)
マルチブラウザテストのフロー
ひよこ ひよこ
Playwrightって何をするツールなの?
ペンギン先生 ペンギン先生
Webアプリの画面操作を自動化してテストするツールだよ。「ボタンをクリック→フォームに入力→結果を確認」という人の操作をコードで再現できるんだ。テストランナーやアサーションも一緒に入っているよ
ひよこ ひよこ
3つのブラウザで動くってすごいの?
ペンギン先生 ペンギン先生
Chromium・Firefox・WebKitの3つのエンジンを同じテストコードで動かせるから、エンジンごとの違いによる不具合を見つけやすいよ。ただ、FirefoxとWebKitはPlaywright用に手を加えたビルドで、WebKitはSafariそのものではないんだ。最後は実際のSafariでも確認すると安心だね
ひよこ ひよこ
Cypressとはどう違うの?
ペンギン先生 ペンギン先生
Cypressはテストのコマンドがブラウザの中で動く仕組みで、同時に操作できるブラウザは1つだけだよ。Playwrightは1つのテストの中で、互いに独立したブラウザコンテキストを複数作れるから、チャットのように複数ユーザーが関わる操作も試しやすいんだ。設定した複数のブラウザ向けのテストは並列で実行できるよ
ひよこ ひよこ
自動待機(Auto-waiting)ってどういうこと?
ペンギン先生 ペンギン先生
クリックの前に、要素が表示されているか、動きが止まっているか、ほかの要素に隠れていないか、無効になっていないかを自動で確かめて、条件がそろうまで待つんだ。だから「3秒待つ」のような固定の待ち時間を書かずに済むことが多いよ。決められた時間内にそろわなければエラーになるね
ひよこ ひよこ
おもしろい!テストが失敗したときはどう調べるの?
ペンギン先生 ペンギン先生
トレースビューアを使うと、各操作の前後のDOMのスナップショットやスクリーンショット、ネットワーク、コンソールのログを時系列で見返せるよ。CIで落ちたテストも、何が起きていたかを後から追えるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Playwright」って出てきたら「複数のブラウザエンジンで画面操作を自動テストできるMicrosoft製のツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Playwright」 = 劇作家・脚本家
💬 英語で「劇作家」という意味の言葉だよ。ブラウザの操作を台本のように書いて実行するツールの姿と重ねると覚えやすいね

参考資料

← 用語集にもどる