playwright.config.ts
https://playwright.dev/docs/test-configuration
大きく2階層
トップレベル設定
テストランナー全体の動作
e.g. 並列数・リトライ・タイムアウト・テストの場所
use 設定
各テストの実行コンテキスト
e.g. ブラウザ・言語・スクショ/video 等
projects[].use で上書き可能
defineConfig({...}) は型補完のためのヘルパーで、機能的には素のオブジェクトと同じ。
projects
同じテストを違う条件で何セットも回す仕組み
e.g. Chrome/Firefox/Safari 横断、PC/モバイル
code:ts
projects: [
{
name: 'chromium',
use: { ...devices'Desktop Chrome' },
},
],
reporter
code:ts
reporter: 'html',
結果の出力形式
複数指定可
トップレベル use
全テスト共通の実行コンテキスト
code:ts
use: {
locale: 'ja-JP',
screenshot: 'only-on-failure',
trace: 'on-first-retry',
video: 'retain-on-failure',
},
locale: 'ja-JP'
ブラウザ言語を日本語にする
日付/言語判定が絡む QA で重要
screenshot: 'only-on-failure'
失敗時だけスクショ
trace: 'on-first-retry'
最初のリトライ時にトレース記録
trace は操作全ステップ/DOM/ネットワークのタイムラインで playwright show-trace で再生可能
retries: 1 と組で「1回目は普通に走り、落ちたらリトライ時に詳細記録」
video: 'retain-on-failure'
動画は撮るが成功分は破棄、失敗分だけ残す