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.