動画
はじめに
Playwright を使用すると、テストの動画を記録できます。
動画の記録
Playwright Test は、Playwright 設定の video
オプションによって制御される、テストの動画を記録できます。デフォルトでは動画はオフになっています。
'off'
- 動画を記録しません。'on'
- 各テストの動画を記録します。'retain-on-failure'
- 各テストの動画を記録しますが、成功したテスト実行からのすべての動画は削除します。'on-first-retry'
- テストを初めて再試行するときにのみ動画を記録します。
動画ファイルはテスト出力ディレクトリ、通常は test-results
に表示されます。高度な動画構成については、testOptions.video を参照してください。
動画は、テストの終了時にブラウザコンテキストが閉じられると保存されます。手動でブラウザコンテキストを作成する場合は、browserContext.close() を待機するようにしてください。
- テスト
- ライブラリ
playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
video: 'on-first-retry',
},
});
const context = await browser.newContext({ recordVideo: { dir: 'videos/' } });
// Make sure to await close, so that videos are saved.
await context.close();
動画のサイズを指定することもできます。動画サイズは、ビューポートサイズが 800x800 に収まるように縮小されたものがデフォルトになります。ビューポートの動画は出力動画の左上隅に配置され、必要に応じて縮小されて収まります。希望する動画サイズに合わせてビューポートサイズを設定する必要がある場合があります。
- テスト
- ライブラリ
playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
video: {
mode: 'on-first-retry',
size: { width: 640, height: 480 }
}
},
});
const context = await browser.newContext({
recordVideo: {
dir: 'videos/',
size: { width: 640, height: 480 },
}
});
複数ページのシナリオでは、page.video() を介してページに関連付けられた動画ファイルにアクセスできます。
const path = await page.video().path();
注
動画は、ページまたはブラウザコンテキストが閉じられた後にのみ利用可能になることに注意してください。