Skip to content
Latchkey

Playwright vs Puppeteer: CIのブラウザ自動化にはどちらを選ぶ?

PuppeteerはChrome/Chromiumの自動化に特化したライブラリで、Playwrightはtest runnerを内蔵したクロスブラウザ対応ツールです。

PuppeteerはクリーンなNode APIでChromium(およびChrome)を自動化し、スクレイピング、PDF生成、Chrome限定のテストで人気があります。Playwright(Microsoft製)はChromium、Firefox、WebKitを操作し、自動待機を備え、独自のtest runnerを同梱しています。

PuppeteerPlaywright
ブラウザChromium/Chrome(Firefoxは実験的)Chromium、Firefox、WebKit
Test runner各自で用意内蔵(@playwright/test)
自動待機手動 / 限定的内蔵
言語JS/TSJS/TS、Python、Java、.NET
典型的な用途スクレイピング、PDF、Chrome自動化クロスブラウザのE2Eテスト

CIでは

end-to-endテストでは、Playwrightの内蔵test runner、自動待機、クロスブラウザ対応により、通常はCIのセットアップが速く、不安定さも少なくなります。Puppeteerはより軽量で、Chromiumだけを対象とし、特化した自動化ライブラリ(スクレイピング、PDF生成、シンプルなsmoke check)が欲しい場合に最適です。どちらもCIにブラウザのバイナリをインストールする必要があり、これはよくあるセットアップの失敗要因です。

不安定さ

Puppeteerのスクリプトは明示的な待機を必要とすることが多く、タイミングによって不安定になりがちですが、Playwrightの自動待機はそれを軽減します。いずれにせよ、一時的な失敗をretryすることで、単発の不安定さがビルド全体を失敗させるのを防げます。

結論

オールインワンのrunnerを備えたクロスブラウザのE2E: Playwright。Chromium限定の自動化、スクレイピング、PDF生成を特化ライブラリとして: Puppeteer。CIではブラウザをインストールし、どちらでも不安定なテストのretryを見込んでおきましょう。

関連ガイド