Skip to main content

视频

介绍

Introduction

使用 Playwright,你可以录制视频以供测试。

With Playwright you can record videos for your tests.

录视频

Record video

Playwright Test 可以为你的测试录制视频,由 Playwright 配置中的 video 选项控制。默认情况下,视频处于关闭状态。

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

  • 'off' - 不要录制视频。

    'off' - Do not record video.

  • 'on' - 为每次测试录制视频。

    'on' - Record video for each test.

  • 'retain-on-failure' - 为每个测试录制视频,但从成功的测试运行中删除所有视频。

    'retain-on-failure' - Record video for each test, but remove all videos from successful test runs.

  • 'on-first-retry' - 仅在第一次重试测试时录制视频。

    'on-first-retry' - Record video only when retrying a test for the first time.

视频文件将出现在测试输出目录中,通常为 test-results。有关高级视频配置,请参阅 testOptions.video

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

测试结束时 浏览器上下文 关闭时保存视频。如果你手动创建浏览器上下文,请确保等待 browserContext.close()

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',
},
});

你还可以指定视频大小。视频大小默认为缩小到适合 800x800 的视口大小。视口的视频放置在输出视频的左上角,必要时缩小以适合。你可能需要设置视口大小以匹配你所需的视频大小。

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 }
}
},
});

对于多页面场景,你可以通过 page.video().X 访问与该页面关联的视频文件。

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 that the video is only available after the page or browser context is closed.