视频
简介
使用 Playwright 可以为你的测试录制视频。
录制视频
Playwright Test 可以为你的测试录制视频,由 Playwright 配置文件中的 video 选项控制。默认情况下视频功能是关闭的。
'off'- 不录制视频。'on'- 为每个测试录制视频。'retain-on-failure'- 为每个测试录制视频,但在测试成功时删除视频。'on-first-retry'- 仅在第一次重试测试时录制视频。
视频文件将出现在测试输出目录中,通常是 test-results。有关高级视频配置,请参阅 testOptions.video。
视频会在测试结束时关闭 浏览器上下文 (browser context) 时保存。如果你手动创建了浏览器上下文,请务必使用 await 等待 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 的尺寸。视口视频被放置在输出视频的左上角,如有必要会进行缩放。你可能需要设置视口大小以匹配你想要的视频尺寸。
当指定 show: { actions } 时,每个操作都会在视频中通过元素轮廓和操作标题副标题进行视觉高亮显示。可选的 duration 属性用于控制每个标注的显示时长(默认为 500 毫秒)。
当指定 show: { test } 时,视频将标注有当前的测试信息,且 level 可配置。
playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
video: {
mode: 'on-first-retry',
size: { width: 640, height: 480 },
show: {
actions: {
duration: 500,
position: 'top-right',
fontSize: 14,
},
test: {
level: 'step',
position: 'top-left',
fontSize: 12,
}
},
},
},
});
对于多页面场景,你可以通过 page.video() 访问与页面关联的视频文件。
const path = await page.video().path();
注意
请注意,视频仅在页面或浏览器上下文关闭后才可用。