视频

简介

使用 Playwright,您可以为测试录制视频。

录制视频

Playwright 测试可以根据 Playwright 配置中的 video 选项录制视频。默认情况下,视频录制是关闭的。

  • 'off' - 不录制视频。

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

  • 'retain-on-failure' - 为每个测试录制视频,但只保留失败测试的录制视频,成功的测试录制视频会被删除。

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

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

视频会在【浏览器上下文】关闭时保存,在测试结束时。如果您手动创建浏览器上下文,请确保使用 await browserContext.close()。

  • Test

  • Library

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。视口视频会放置在输出视频的左上角,并在必要时进行缩放。您可能需要设置视口大小,以匹配您所需的视频大小。

  • Test

  • Library

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();

请注意,视频仅在页面或浏览器上下文关闭后可用。