Skip to main content

Videos

Introduction

With Playwright you can record videos for your tests.

Record video

Playwright Test can record videos for your tests, controlled by the video option in your Playwright config. By default videos are off.

  • 'off' - Do not record video.
  • 'on' - Record video for each test.
  • 'retain-on-failure' - Record video for each test, but remove all videos from successful test runs.
  • 'on-first-retry' - Record video only when retrying a test for the first time.

Video files will appear in the test output directory, typically test-results. See testOptions.video for advanced video configuration.

Videos are saved upon browser context closure at the end of a test. If you create a browser context manually, make sure to await browserContext.close().

playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
video: 'on-first-retry',
},
});

You can also specify video size. The video size defaults to the viewport size scaled down to fit 800x800. The video of the viewport is placed in the top-left corner of the output video, scaled down to fit if necessary. You may need to set the viewport size to match your desired video size.

playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
video: {
mode: 'on-first-retry',
size: { width: 640, height: 480 }
}
},
});

For multi-page scenarios, you can access the video file associated with the page via the page.video().

const path = await page.video().path();
note

Note that the video is only available after the page or browser context is closed.