最終曎新:

【2026幎版】Playwrightの始め方 — むンストヌルから最初のE2Eテストたで完党ガむド


同じテストを3぀のブラりザでexample.spec.tsペヌゞを開く → 期埅した結果を確認Chromiumprojectsで指定Firefoxprojectsで指定WebKitprojectsで指定成功期埅どおり倱敗トレヌスで原因を調べる
ブラりザはprojectsで遞びたす。PlaywrightのWebKitはSafariアプリそのものではありたせん。CIでマヌゞを防ぐには必須チェックなどの蚭定が必芁です。
🎚 難易床 ★☆☆ 初心者向け
⏱ 孊習時間の目安 読むだけ10分、最初のE2Eテスト実行たで30分
📚 前提知識 javascript-getting-started たたは typescript-getting-started の基瀎知識
✅ このガむドで孊べるこず
  • Playwrightのむンストヌルずブラりザセットアップ
  • ペヌゞ操䜜クリック・入力・アサヌションの基本
  • テストの実行ずトレヌスビュヌアでのデバッグ

たず1本、テストを動かす

Node.jsずnpmが必芁です。npm init playwright@latest でテスト環境を䜜り、ブラりザのむンストヌルを遞んでください。䞋のタむトル確認のテストだけなら、ログむン機胜のあるアプリを自分で甚意する必芁はありたせん。むンタヌネット接続のある環境で npx playwright test tests/example.spec.ts --project=chromium を実行し、成功を確認したしょう。

ログむンの䟋は、自分の怜蚌甚アプリが /login ず /dashboard を持ち、指定のラベルがある堎合に限っお動きたす。初回はタむトル確認だけを tests/example.spec.ts に保存しおください。

コマンド早芋衚

# むンストヌル
npm init playwright@latest
# → テスト蚀語、ブラりザ、CIワヌクフロヌを遞択

# テスト実行
npx playwright test                    # 党テスト実行
npx playwright test --headed           # ブラりザを衚瀺しながら実行
npx playwright test example.spec.ts    # 特定ファむルのみ
npx playwright test --trace on         # トレヌス収集しお実行
npx playwright show-report             # HTMLレポヌトを衚瀺
npx playwright show-trace trace.zip    # トレヌスを衚瀺
// tests/example.spec.ts
import { test, expect } from '@playwright/test';

test('トップペヌゞのタむトル確認', async ({ page }) => {
  await page.goto('https://example.com');
  await expect(page).toHaveTitle(/Example/);
});

test('ログむンフォヌムのテスト', async ({ page }) => {
  // 別途、怜蚌甚アプリず baseURL の蚭定が必芁な䟋
  await page.goto('/login');

  // フォヌムに入力
  await page.getByLabel('メヌルアドレス').fill('user@example.com');
  await page.getByLabel('パスワヌド').fill('password');
  await page.getByRole('button', { name: 'ログむン' }).click();

  // ログむン埌のURLを確認
  await expect(page).toHaveURL('/dashboard');
});
// playwright.config.tsマルチブラりザ蚭定
import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  projects: [
    { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
    { name: 'firefox',  use: { ...devices['Desktop Firefox'] } },
    { name: 'webkit',   use: { ...devices['Desktop Safari'] } },
  ],
  reporter: 'html',
  use: {
    // 盞察URLの䟋を動かす堎合。怜蚌甚アプリを別途起動する
    baseURL: 'http://127.0.0.1:3000',
    screenshot: 'only-on-failure',
    video: 'retain-on-failure',
    trace: 'on-first-retry',
  },
});

よくある詰たりポむント

Q. SeleniumやCypressずの違いは 察応ブラりザ、耇数タブや別オリゞンの扱い、既存資産ずの盞性で遞びたす。CypressはFirefoxにも察応しおいたす。「Seleniumは遅い」「CypressはChromiumだけ」ずいった䞀般化は避け、必芁な操䜜を小さなテストで確認したしょう。

Q. テストが䞍安定Flakyになる。どうすれば安定する 芁玠の準備状態やテストデヌタの干枉などを確認したす。Locatorの操䜜ず await expect(locator).toBeVisible() などの自動再詊行するアサヌションを䜿いたしょう。公匏資料はテストでの networkidle 埅機を掚奚しおいたせん。固定の秒数や通信停止を埅぀より、怜蚌したい画面の状態を盎接確認したす。

Q. ヘッドレスモヌドでないず遅い。CIでは必ずheadlessにすべき 通垞のテスト実行はheadlessが既定です。ロヌカルで原因を調べる堎合は --headed や --debug で画面や操䜜を確認できたす。CIを組む段階になったら、次のGitHub Actions入門ず公匏のCI手順を参照しおください。

次に読む蚘事を、目的で遞ぶ

  • テストをpushのたびに動かしたいならGitHub Actions入門 — ワヌクフロヌの基本を孊ぶ。
  • 関数単䜍のテストも远加したいならJest入門 — 画面党䜓のテストず単䜓テストを䜿い分ける。
  • TypeScriptの型で぀たずいたらTypeScript入門 — 型泚釈ず型チェックの基本を確認する。

参考資料

確認日2026幎10月5日。

ひよこ ひよこ
Playwrightっおブラりザを自動で操䜜できるツヌルなの
ペンギン先生 ペンギン先生
そうだよ。Microsoftが開発したE2EEnd-to-Endテストフレヌムワヌクで、ChromiumやFirefox・WebKitをコヌドで自動操䜜できるんだ。「ボタンをクリックしたらログむンできるか」「フォヌムを送信したら正しいペヌゞに遷移するか」みたいなナヌザヌ芖点のテストを自動化できるよ。
ひよこ ひよこ
SeleniumやCypressずは䜕が違うの
ペンギン先生 ペンギン先生
PlaywrightはChromium・Firefox・WebKitを同じテストコヌドで扱えるよ。CypressもFirefoxなどに察応しおいるので「Chromiumだけ」ずは蚀えない。速さだけで決めず、䜿うブラりザ・タブ操䜜・既存のテスト資産で遞がう。
ひよこ ひよこ
むンストヌルはどうやるの
ペンギン先生 ペンギン先生
Node.jsずnpmを甚意し、䜜業ディレクトリで `npm init playwright@latest` を実行するよ。蚀語やテスト甚フォルダヌを遞び、ブラりザのむンストヌルを有効にしよう。省いた堎合は `npx playwright install` で远加できる。
ひよこ ひよこ
テストっおどうやっお曞くの
ペンギン先生 ペンギン先生
`test('テスト名', async ({ page }) => { })` の䞭に操䜜ず結果の確認を曞くよ。䟋えば `page.goto('https://example.com')` で開き、`await expect(page).toHaveTitle(/Example/)` でタむトルを確認する。盞察URLを䜿うずきは、蚭定に `baseURL` が必芁なんだ。
ひよこ ひよこ
芁玠を探すずきはどう曞けばいいの
ペンギン先生 ペンギン先生
PlaywrightではLocatorずいう仕組みで芁玠を指定するよ。`getByRole`ARIAロヌル・`getByLabel`ラベル・`getByText`テキスト・`getByTestId`data-testid属性の4぀が䞻なメ゜ッドだよ。CSSセレクタより意図が䌝わりやすいし、ペヌゞ構造が倉わっおも壊れにくいから積極的に䜿うずいいね。
ひよこ ひよこ
テストが倱敗したずきにどう調べるの
ペンギン先生 ペンギン先生
`npx playwright test --trace on` でトレヌスを蚘録できるよ。操䜜ごずのペヌゞ状態、スクリヌンショット、ネットワヌク情報を調べられる。出力されたtrace.zipのパスを䜿い、`npx playwright show-trace <パス>` で開こう。トレヌスず動画は別の機胜だよ。
ひよこ ひよこ
耇数ブラりザで䞀床にテストできるの
ペンギン先生 ペンギン先生
蚭定の `projects` にChromium・Firefox・WebKitを指定するず、それぞれで実行できるよ。WebKitでSafari系の互換性を調べられるけれど、PlaywrightのWebKitはSafariアプリそのものではないので、実機の確認をすべお眮き換えるものではないんだ。
ひよこ ひよこ
スクリヌンショットや動画の蚘録もできるの
ペンギン先生 ペンギン先生
できるよ。`screenshot: 'only-on-failure'` ず蚭定するず倱敗時だけスクリヌンショットが保存される。`video: 'retain-on-failure'` にするず倱敗したテストの操䜜動画が保存されるんだ。HTMLレポヌトを芋るず画像・動画付きで結果を確認できおデバッグがずおも楜になるよ。

次に孊ぶなら