Playwright Test と Reporter API

この付録では、Playwright Test Runner の設定、Fixture、Reporter などの API を一覧表示します。


Test 関数

メソッド説明
test(name, fn)テストを定義する
test.describe(name, fn)テストグループを定義する
test.describe.serial(name, fn)シリアルテストグループ
test.describe.parallel(name, fn)並列テストグループ
test.describe.configure(options)グループの動作を設定する(mode、retries)
test.skip(name?, fn?)テストをスキップする
test.fail(name?, fn?)期待失敗としてマークする
test.fixme(name?, fn?)修正待ちとしてマークする
test.slow(name?, fn?)スローテストとしてマークする(タイムアウト×3)
test.only(name, fn)このテストのみ実行する
test.beforeEach(fn)各テストの前に実行
test.afterEach(fn)各テストの後に実行
test.beforeAll(fn)すべてのテストの前に一度実行
test.afterAll(fn)すべてのテストの後に一度実行
test.extend(fixtures)カスタム Fixture を作成する
test.use(options)現在のスコープの設定を上書きする
test.setTimeout(ms)現在のテストのタイムアウトを設定する
test.step(name, fn)テストステップを定義する(レポートで表示可能)
test.info()TestInfo オブジェクトを取得する

TestConfig 設定インターフェース

フィールド型説明
testDirstringテストディレクトリ
fullyParallelboolean完全並列
workersnumberWorker 数
retriesnumber再試行回数
timeoutnumberテスト全体のタイムアウト
reporterstring | arrayレポーター
forbidOnlyboolean禁止only
testMatchstring | RegExpテストマッチパターン
testIgnorestring | RegExp無視パターン
projectsProject[]プロジェクトリスト
webServerobjectWeb サーバー設定
globalSetupstringグローバル Setup スクリプトのパス
globalTeardownstringグローバル Teardown スクリプトのパス
useobject共有設定
expectobjectアサーション設定

TestInfo インターフェース

フィールド/メソッド説明
testInfo.titleテスト名
testInfo.fileテストファイルのパス
testInfo.lineテストの行番号
testInfo.columnテストの列番号
testInfo.expectedStatus期待ステータス:'passed' | 'failed' | 'skipped'
testInfo.timeout現在のテストのタイムアウト
testInfo.annotations注釈リスト
testInfo.attachments添付ファイルリスト
testInfo.project.name現在のプロジェクト名
testInfo.retry現在の再試行回数
testInfo.parallelIndex並列インデックス
testInfo.skip(reason?)テストをスキップ(動的)
testInfo.fail(reason?)失敗としてマーク(動的)
testInfo.attach(name, options?)レポートにファイルを添付する

Fixtures インターフェース

Fixture型説明
pagePageブラウザタブ
contextBrowserContextブラウザコンテキスト
browserBrowserブラウザインスタンス
browserNamestringブラウザ名
requestAPIRequestContextHTTP リクエストクライアント

WorkerInfo インターフェース

フィールド説明
workerInfo.project.nameプロジェクト名
workerInfo.parallelIndexWorker 並列インデックス
workerInfo.configFullConfig オブジェクト

Reporter インターフェース

メソッド説明
reporter.onBegin(config, suite)テスト開始
reporter.onTestBegin(test)単一のテスト開始
reporter.onTestEnd(test, result)単一のテスト終了
reporter.onStepBegin(test, result, step)ステップ開始
reporter.onStepEnd(test, result, step)ステップ終了
reporter.onEnd(result)テスト終了
reporter.onExit()プロセス終了
reporter.printsToStdio()標準出力に出力するかどうか

Suite クラス

フィールド説明
suite.titleSuite 名
suite.suites子 Suite リスト
suite.testsテストリスト
suite.locationSuite の位置

TestCase クラス

フィールド説明
test.titleテスト名
test.locationテストの位置
test.expectedStatus期待ステータス
test.annotations注釈リスト
test.parent所属 Suite
test.id()テスト ID

TestResult クラス

フィールド説明
result.statusステータス:'passed' | 'failed' | 'skipped' | 'interrupted'
result.duration実行時間(ミリ秒)
result.errorエラー情報(TestError)
result.attachments添付ファイルリスト
result.stdout標準出力
result.stderr標準エラー

Electron API

メソッド説明
electron.launch(options?)Electron アプリを起動する

ElectronApplication クラス

メソッド説明
electronApp.firstWindow()最初のウィンドウを取得する
electronApp.windows()すべてのウィンドウを取得する
electronApp.close()アプリを閉じる

Android API

メソッド/クラス説明
android.devices()接続されているデバイスリストを取得する
AndroidDeviceAndroid デバイスオブジェクト
AndroidWebViewWebView オブジェクト
その他の拡張